[PATCH 3/6] newlib: xstormy16: fix mallopt definition & mstats handling

Mike Frysinger vapier@gentoo.org
Wed Mar 2 01:36:20 GMT 2022


The mallopt symbol is defined in tiny-malloc.c, not mallocr.c, but
the Makefile in here tries to compile it out of the latter.  This
leads to mallopt never being defined.

The build also creates mallinfo.o & mallopt.o & mallstats.o objects
to override common ones, but the common dir doesn't use these names.
Instead, it places these all in mstats.o.

So move the build define logic to a dedicated file and compile it
directly to make things a bit simpler while fixing the missing func
and aligning objects with the cmomon code.
---
 newlib/libc/machine/xstormy16/Makefile.am | 15 ++--------
 newlib/libc/machine/xstormy16/Makefile.in | 36 +++++++++++++----------
 newlib/libc/machine/xstormy16/mstats.c    |  6 ++++
 3 files changed, 29 insertions(+), 28 deletions(-)
 create mode 100644 newlib/libc/machine/xstormy16/mstats.c

diff --git a/newlib/libc/machine/xstormy16/Makefile.am b/newlib/libc/machine/xstormy16/Makefile.am
index faaac89413ed..f5237dce3880 100644
--- a/newlib/libc/machine/xstormy16/Makefile.am
+++ b/newlib/libc/machine/xstormy16/Makefile.am
@@ -6,7 +6,8 @@ AM_CCASFLAGS = $(AM_CPPFLAGS)
 
 noinst_LIBRARIES = lib.a
 
-lib_a_SOURCES = setjmp.S
+lib_a_SOURCES = setjmp.S \
+	mstats.c
 lib_a_CFLAGS = $(AM_CFLAGS)
 
 lib_a_LIBADD = $(lpfx)malloc.o \
@@ -17,10 +18,7 @@ lib_a_LIBADD = $(lpfx)malloc.o \
 	$(lpfx)malign.o \
 	$(lpfx)valloc.o \
 	$(lpfx)pvalloc.o \
-	$(lpfx)mallinfo.o \
-	$(lpfx)mallstats.o \
 	$(lpfx)msize.o \
-	$(lpfx)mallopt.o \
 	$(lpfx)mallocr.o \
 	$(lpfx)freer.o \
 	$(lpfx)reallocr.o \
@@ -54,18 +52,9 @@ $(lpfx)valloc.o: tiny-malloc.c
 $(lpfx)pvalloc.o: tiny-malloc.c
 	$(MALLOC_COMPILE) -DDEFINE_PVALLOC -c $(srcdir)/tiny-malloc.c -o $@
 
-$(lpfx)mallinfo.o: tiny-malloc.c
-	$(MALLOC_COMPILE) -DDEFINE_MALLINFO -c $(srcdir)/tiny-malloc.c -o $@
-
-$(lpfx)mallstats.o: tiny-malloc.c
-	$(MALLOC_COMPILE) -DDEFINE_MALLOC_STATS -c $(srcdir)/tiny-malloc.c -o $@
-
 $(lpfx)msize.o: tiny-malloc.c
 	$(MALLOC_COMPILE) -DDEFINE_MALLOC_USABLE_SIZE -c $(srcdir)/tiny-malloc.c -o $@
 
-$(lpfx)mallopt.o: mallocr.c
-	$(MALLOC_COMPILE) -DDEFINE_MALLOPT -c $(srcdir)/mallocr.c -o $@
-
 $(lpfx)mallocr.o: mallocr.c
 	$(MALLOC_COMPILE) -DDEFINE_MALLOC -c $(srcdir)/mallocr.c -o $@
 
diff --git a/newlib/libc/machine/xstormy16/mstats.c b/newlib/libc/machine/xstormy16/mstats.c
new file mode 100644
index 000000000000..1bd24da555f1
--- /dev/null
+++ b/newlib/libc/machine/xstormy16/mstats.c
@@ -0,0 +1,6 @@
+/* stdlib/mstats.c defines all these symbols in this file.
+   TODO: Missing mstats function.  */
+#define DEFINE_MALLINFO
+#define DEFINE_MALLOC_STATS
+#define DEFINE_MALLOPT
+#include "tiny-malloc.c"
-- 
2.34.1



More information about the Newlib mailing list