From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1521) id 77280389EC67; Sun, 13 Mar 2022 21:15:23 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 77280389EC67 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Michael Frysinger To: newlib-cvs@sourceware.org Subject: [newlib-cygwin] newlib: xstormy16: move malloc multiplex logic from build to source files X-Act-Checkin: newlib-cygwin X-Git-Author: Mike Frysinger X-Git-Refname: refs/heads/master X-Git-Oldrev: 8c383e9ae7d34124e359299c6dc2e917a7a19527 X-Git-Newrev: b2d4dc167cf9ffd992d88e23dc1d3debadcc2c4b Message-Id: <20220313211523.77280389EC67@sourceware.org> Date: Sun, 13 Mar 2022 21:15:23 +0000 (GMT) X-BeenThere: newlib-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Newlib GIT logs List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 13 Mar 2022 21:15:23 -0000 https://sourceware.org/git/gitweb.cgi?p=3Dnewlib-cygwin.git;h=3Db2d4dc167cf= 9ffd992d88e23dc1d3debadcc2c4b commit b2d4dc167cf9ffd992d88e23dc1d3debadcc2c4b Author: Mike Frysinger Date: Tue Mar 1 01:37:19 2022 -0500 newlib: xstormy16: move malloc multiplex logic from build to source fil= es =20 Rather than define per-object rules in the Makefile, have small files that define & include the right content. This simplifies the build rules, and makes understanding the source a little easier (imo) as it makes all the subdirs behave the same: you have 1 source file and it produces 1 object. It's also about the same amount of boiler plate, without having to define custom build rules that can fall out of sync. =20 We also realign the free & pvalloc definitions: common code puts these in malloc.o & valloc.o respectively, not in free.o & pvalloc.o objects. =20 This will also be important as we merge the libc.a build into the top dir since it relies on a single flat list of objects for overrides. Diff: --- newlib/libc/machine/xstormy16/Makefile.am | 50 +++------------ newlib/libc/machine/xstormy16/Makefile.in | 101 +++++++++++++++++---------= ---- newlib/libc/machine/xstormy16/calloc.c | 2 + newlib/libc/machine/xstormy16/cfree.c | 2 + newlib/libc/machine/xstormy16/malign.c | 2 + newlib/libc/machine/xstormy16/malloc.c | 4 ++ newlib/libc/machine/xstormy16/msize.c | 2 + newlib/libc/machine/xstormy16/realloc.c | 2 + newlib/libc/machine/xstormy16/valloc.c | 4 ++ 9 files changed, 84 insertions(+), 85 deletions(-) diff --git a/newlib/libc/machine/xstormy16/Makefile.am b/newlib/libc/machin= e/xstormy16/Makefile.am index 842bab9b0..d3ada18d7 100644 --- a/newlib/libc/machine/xstormy16/Makefile.am +++ b/newlib/libc/machine/xstormy16/Makefile.am @@ -7,50 +7,16 @@ AM_CCASFLAGS =3D $(AM_CPPFLAGS) noinst_LIBRARIES =3D lib.a =20 lib_a_SOURCES =3D setjmp.S \ + calloc.c \ callocr.c \ + cfree.c \ freer.c \ + malign.c \ + malloc.c \ mallocr.c \ + msize.c \ mstats.c \ - reallocr.c + realloc.c \ + reallocr.c \ + valloc.c lib_a_CFLAGS =3D $(AM_CFLAGS) - -lib_a_LIBADD =3D $(lpfx)malloc.o \ - $(lpfx)free.o \ - $(lpfx)realloc.o \ - $(lpfx)calloc.o \ - $(lpfx)cfree.o \ - $(lpfx)malign.o \ - $(lpfx)valloc.o \ - $(lpfx)pvalloc.o \ - $(lpfx)msize.o - -lib_a_DEPENDENCIES =3D $(lib_a_LIBADD) - -MALLOC_COMPILE =3D $(COMPILE) - -$(lpfx)malloc.o: tiny-malloc.c - $(MALLOC_COMPILE) -DDEFINE_MALLOC -c $(srcdir)/tiny-malloc.c -o $@ - -$(lpfx)free.o: tiny-malloc.c - $(MALLOC_COMPILE) -DDEFINE_FREE -c $(srcdir)/tiny-malloc.c -o $@ - -$(lpfx)realloc.o: tiny-malloc.c - $(MALLOC_COMPILE) -DDEFINE_REALLOC -c $(srcdir)/tiny-malloc.c -o $@ - -$(lpfx)calloc.o: tiny-malloc.c - $(MALLOC_COMPILE) -DDEFINE_CALLOC -c $(srcdir)/tiny-malloc.c -o $@ - -$(lpfx)cfree.o: tiny-malloc.c - $(MALLOC_COMPILE) -DDEFINE_CFREE -c $(srcdir)/tiny-malloc.c -o $@ - -$(lpfx)malign.o: tiny-malloc.c - $(MALLOC_COMPILE) -DDEFINE_MEMALIGN -c $(srcdir)/tiny-malloc.c -o $@ - -$(lpfx)valloc.o: tiny-malloc.c - $(MALLOC_COMPILE) -DDEFINE_VALLOC -c $(srcdir)/tiny-malloc.c -o $@ - -$(lpfx)pvalloc.o: tiny-malloc.c - $(MALLOC_COMPILE) -DDEFINE_PVALLOC -c $(srcdir)/tiny-malloc.c -o $@ - -$(lpfx)msize.o: tiny-malloc.c - $(MALLOC_COMPILE) -DDEFINE_MALLOC_USABLE_SIZE -c $(srcdir)/tiny-malloc.c = -o $@ diff --git a/newlib/libc/machine/xstormy16/Makefile.in b/newlib/libc/machin= e/xstormy16/Makefile.in index e0ccf513e..b2bab2a8e 100644 --- a/newlib/libc/machine/xstormy16/Makefile.in +++ b/newlib/libc/machine/xstormy16/Makefile.in @@ -117,9 +117,14 @@ am__v_AR_ =3D $(am__v_AR_@AM_DEFAULT_V@) am__v_AR_0 =3D @echo " AR " $@; am__v_AR_1 =3D=20 lib_a_AR =3D $(AR) $(ARFLAGS) -am_lib_a_OBJECTS =3D setjmp.$(OBJEXT) lib_a-callocr.$(OBJEXT) \ - lib_a-freer.$(OBJEXT) lib_a-mallocr.$(OBJEXT) \ - lib_a-mstats.$(OBJEXT) lib_a-reallocr.$(OBJEXT) +lib_a_LIBADD =3D +am_lib_a_OBJECTS =3D setjmp.$(OBJEXT) lib_a-calloc.$(OBJEXT) \ + lib_a-callocr.$(OBJEXT) lib_a-cfree.$(OBJEXT) \ + lib_a-freer.$(OBJEXT) lib_a-malign.$(OBJEXT) \ + lib_a-malloc.$(OBJEXT) lib_a-mallocr.$(OBJEXT) \ + lib_a-msize.$(OBJEXT) lib_a-mstats.$(OBJEXT) \ + lib_a-realloc.$(OBJEXT) lib_a-reallocr.$(OBJEXT) \ + lib_a-valloc.$(OBJEXT) lib_a_OBJECTS =3D $(am_lib_a_OBJECTS) AM_V_P =3D $(am__v_P_@AM_V@) am__v_P_ =3D $(am__v_P_@AM_DEFAULT_V@) @@ -316,25 +321,20 @@ AM_CPPFLAGS =3D $(NEWLIB_CFLAGS) $(TARGET_CFLAGS) AM_CCASFLAGS =3D $(AM_CPPFLAGS) noinst_LIBRARIES =3D lib.a lib_a_SOURCES =3D setjmp.S \ + calloc.c \ callocr.c \ + cfree.c \ freer.c \ + malign.c \ + malloc.c \ mallocr.c \ + msize.c \ mstats.c \ - reallocr.c + realloc.c \ + reallocr.c \ + valloc.c =20 lib_a_CFLAGS =3D $(AM_CFLAGS) -lib_a_LIBADD =3D $(lpfx)malloc.o \ - $(lpfx)free.o \ - $(lpfx)realloc.o \ - $(lpfx)calloc.o \ - $(lpfx)cfree.o \ - $(lpfx)malign.o \ - $(lpfx)valloc.o \ - $(lpfx)pvalloc.o \ - $(lpfx)msize.o - -lib_a_DEPENDENCIES =3D $(lib_a_LIBADD) -MALLOC_COMPILE =3D $(COMPILE) all: all-am =20 .SUFFIXES: @@ -395,36 +395,78 @@ distclean-compile: .c.obj: $(AM_V_CC)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` =20 +lib_a-calloc.o: calloc.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(= CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-calloc.o `test -f 'calloc.c= ' || echo '$(srcdir)/'`calloc.c + +lib_a-calloc.obj: calloc.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(= CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-calloc.obj `if test -f 'cal= loc.c'; then $(CYGPATH_W) 'calloc.c'; else $(CYGPATH_W) '$(srcdir)/calloc.c= '; fi` + lib_a-callocr.o: callocr.c $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(= CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-callocr.o `test -f 'callocr= .c' || echo '$(srcdir)/'`callocr.c =20 lib_a-callocr.obj: callocr.c $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(= CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-callocr.obj `if test -f 'ca= llocr.c'; then $(CYGPATH_W) 'callocr.c'; else $(CYGPATH_W) '$(srcdir)/callo= cr.c'; fi` =20 +lib_a-cfree.o: cfree.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(= CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cfree.o `test -f 'cfree.c' = || echo '$(srcdir)/'`cfree.c + +lib_a-cfree.obj: cfree.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(= CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-cfree.obj `if test -f 'cfre= e.c'; then $(CYGPATH_W) 'cfree.c'; else $(CYGPATH_W) '$(srcdir)/cfree.c'; f= i` + lib_a-freer.o: freer.c $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(= CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-freer.o `test -f 'freer.c' = || echo '$(srcdir)/'`freer.c =20 lib_a-freer.obj: freer.c $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(= CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-freer.obj `if test -f 'free= r.c'; then $(CYGPATH_W) 'freer.c'; else $(CYGPATH_W) '$(srcdir)/freer.c'; f= i` =20 +lib_a-malign.o: malign.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(= CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-malign.o `test -f 'malign.c= ' || echo '$(srcdir)/'`malign.c + +lib_a-malign.obj: malign.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(= CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-malign.obj `if test -f 'mal= ign.c'; then $(CYGPATH_W) 'malign.c'; else $(CYGPATH_W) '$(srcdir)/malign.c= '; fi` + +lib_a-malloc.o: malloc.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(= CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-malloc.o `test -f 'malloc.c= ' || echo '$(srcdir)/'`malloc.c + +lib_a-malloc.obj: malloc.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(= CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-malloc.obj `if test -f 'mal= loc.c'; then $(CYGPATH_W) 'malloc.c'; else $(CYGPATH_W) '$(srcdir)/malloc.c= '; fi` + lib_a-mallocr.o: mallocr.c $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(= CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-mallocr.o `test -f 'mallocr= .c' || echo '$(srcdir)/'`mallocr.c =20 lib_a-mallocr.obj: mallocr.c $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(= CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-mallocr.obj `if test -f 'ma= llocr.c'; then $(CYGPATH_W) 'mallocr.c'; else $(CYGPATH_W) '$(srcdir)/mallo= cr.c'; fi` =20 +lib_a-msize.o: msize.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(= CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-msize.o `test -f 'msize.c' = || echo '$(srcdir)/'`msize.c + +lib_a-msize.obj: msize.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(= CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-msize.obj `if test -f 'msiz= e.c'; then $(CYGPATH_W) 'msize.c'; else $(CYGPATH_W) '$(srcdir)/msize.c'; f= i` + lib_a-mstats.o: mstats.c $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(= CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-mstats.o `test -f 'mstats.c= ' || echo '$(srcdir)/'`mstats.c =20 lib_a-mstats.obj: mstats.c $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(= CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-mstats.obj `if test -f 'mst= ats.c'; then $(CYGPATH_W) 'mstats.c'; else $(CYGPATH_W) '$(srcdir)/mstats.c= '; fi` =20 +lib_a-realloc.o: realloc.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(= CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-realloc.o `test -f 'realloc= .c' || echo '$(srcdir)/'`realloc.c + +lib_a-realloc.obj: realloc.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(= CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-realloc.obj `if test -f 're= alloc.c'; then $(CYGPATH_W) 'realloc.c'; else $(CYGPATH_W) '$(srcdir)/reall= oc.c'; fi` + lib_a-reallocr.o: reallocr.c $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(= CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-reallocr.o `test -f 'reallo= cr.c' || echo '$(srcdir)/'`reallocr.c =20 lib_a-reallocr.obj: reallocr.c $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(= CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-reallocr.obj `if test -f 'r= eallocr.c'; then $(CYGPATH_W) 'reallocr.c'; else $(CYGPATH_W) '$(srcdir)/re= allocr.c'; fi` =20 +lib_a-valloc.o: valloc.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(= CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-valloc.o `test -f 'valloc.c= ' || echo '$(srcdir)/'`valloc.c + +lib_a-valloc.obj: valloc.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(= CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-valloc.obj `if test -f 'val= loc.c'; then $(CYGPATH_W) 'valloc.c'; else $(CYGPATH_W) '$(srcdir)/valloc.c= '; fi` + ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am @@ -595,33 +637,6 @@ uninstall-am: .PRECIOUS: Makefile =20 =20 -$(lpfx)malloc.o: tiny-malloc.c - $(MALLOC_COMPILE) -DDEFINE_MALLOC -c $(srcdir)/tiny-malloc.c -o $@ - -$(lpfx)free.o: tiny-malloc.c - $(MALLOC_COMPILE) -DDEFINE_FREE -c $(srcdir)/tiny-malloc.c -o $@ - -$(lpfx)realloc.o: tiny-malloc.c - $(MALLOC_COMPILE) -DDEFINE_REALLOC -c $(srcdir)/tiny-malloc.c -o $@ - -$(lpfx)calloc.o: tiny-malloc.c - $(MALLOC_COMPILE) -DDEFINE_CALLOC -c $(srcdir)/tiny-malloc.c -o $@ - -$(lpfx)cfree.o: tiny-malloc.c - $(MALLOC_COMPILE) -DDEFINE_CFREE -c $(srcdir)/tiny-malloc.c -o $@ - -$(lpfx)malign.o: tiny-malloc.c - $(MALLOC_COMPILE) -DDEFINE_MEMALIGN -c $(srcdir)/tiny-malloc.c -o $@ - -$(lpfx)valloc.o: tiny-malloc.c - $(MALLOC_COMPILE) -DDEFINE_VALLOC -c $(srcdir)/tiny-malloc.c -o $@ - -$(lpfx)pvalloc.o: tiny-malloc.c - $(MALLOC_COMPILE) -DDEFINE_PVALLOC -c $(srcdir)/tiny-malloc.c -o $@ - -$(lpfx)msize.o: tiny-malloc.c - $(MALLOC_COMPILE) -DDEFINE_MALLOC_USABLE_SIZE -c $(srcdir)/tiny-malloc.c = -o $@ - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/newlib/libc/machine/xstormy16/calloc.c b/newlib/libc/machine/x= stormy16/calloc.c new file mode 100644 index 000000000..46adf7fa2 --- /dev/null +++ b/newlib/libc/machine/xstormy16/calloc.c @@ -0,0 +1,2 @@ +#define DEFINE_CALLOC +#include "tiny-malloc.c" diff --git a/newlib/libc/machine/xstormy16/cfree.c b/newlib/libc/machine/xs= tormy16/cfree.c new file mode 100644 index 000000000..2ab591367 --- /dev/null +++ b/newlib/libc/machine/xstormy16/cfree.c @@ -0,0 +1,2 @@ +#define DEFINE_CFREE +#include "tiny-malloc.c" diff --git a/newlib/libc/machine/xstormy16/malign.c b/newlib/libc/machine/x= stormy16/malign.c new file mode 100644 index 000000000..2daba4104 --- /dev/null +++ b/newlib/libc/machine/xstormy16/malign.c @@ -0,0 +1,2 @@ +#define DEFINE_MEMALIGN +#include "tiny-malloc.c" diff --git a/newlib/libc/machine/xstormy16/malloc.c b/newlib/libc/machine/x= stormy16/malloc.c new file mode 100644 index 000000000..f59020142 --- /dev/null +++ b/newlib/libc/machine/xstormy16/malloc.c @@ -0,0 +1,4 @@ +/* stdlib/malloc.c defines all these symbols in this file. */ +#define DEFINE_FREE +#define DEFINE_MALLOC +#include "tiny-malloc.c" diff --git a/newlib/libc/machine/xstormy16/msize.c b/newlib/libc/machine/xs= tormy16/msize.c new file mode 100644 index 000000000..90b084871 --- /dev/null +++ b/newlib/libc/machine/xstormy16/msize.c @@ -0,0 +1,2 @@ +#define DEFINE_MALLOC_USABLE_SIZE +#include "tiny-malloc.c" diff --git a/newlib/libc/machine/xstormy16/realloc.c b/newlib/libc/machine/= xstormy16/realloc.c new file mode 100644 index 000000000..64a29fa2b --- /dev/null +++ b/newlib/libc/machine/xstormy16/realloc.c @@ -0,0 +1,2 @@ +#define DEFINE_REALLOC +#include "tiny-malloc.c" diff --git a/newlib/libc/machine/xstormy16/valloc.c b/newlib/libc/machine/x= stormy16/valloc.c new file mode 100644 index 000000000..d6543bc88 --- /dev/null +++ b/newlib/libc/machine/xstormy16/valloc.c @@ -0,0 +1,4 @@ +/* stdlib/valloc.c defines all these symbols in this file. */ +#define DEFINE_PVALLOC +#define DEFINE_VALLOC +#include "tiny-malloc.c"