From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) by sourceware.org (Postfix) with ESMTP id 3AD7A3858406 for ; Wed, 2 Mar 2022 01:36:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 3AD7A3858406 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gentoo.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gentoo.org Received: by smtp.gentoo.org (Postfix, from userid 559) id 8324A342D4E; Wed, 2 Mar 2022 01:36:23 +0000 (UTC) From: Mike Frysinger To: newlib@sourceware.org Subject: [PATCH 1/6] newlib: move nano-malloc logic from build to source files Date: Tue, 1 Mar 2022 20:36:18 -0500 Message-Id: <20220302013623.368-2-vapier@gentoo.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220302013623.368-1-vapier@gentoo.org> References: <20220302013623.368-1-vapier@gentoo.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-11.5 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: newlib@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Newlib mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Mar 2022 01:36:25 -0000 Simplify the build system logic a bit by moving the mallocr.c -> nano-mallocr.c redirection from the Makefile to the source files. This allows for consistent object name usage regardless of the configuration options used in case a machine dir wants to define its own override. --- newlib/libc/stdlib/Makefile.am | 92 ++++++++++++---------------------- newlib/libc/stdlib/Makefile.in | 88 ++++++++++++-------------------- newlib/libc/stdlib/mallocr.c | 3 ++ 3 files changed, 67 insertions(+), 116 deletions(-) diff --git a/newlib/libc/stdlib/Makefile.am b/newlib/libc/stdlib/Makefile.am index 50e22d90c0e0..950ad98ac134 100644 --- a/newlib/libc/stdlib/Makefile.am +++ b/newlib/libc/stdlib/Makefile.am @@ -83,34 +83,6 @@ GENERAL_SOURCES += \ wcstold.c endif # HAVE_LONG_DOUBLE -if NEWLIB_NANO_MALLOC -MALIGNR=nano-malignr -MALLOPTR=nano-malloptr -PVALLOCR=nano-pvallocr -VALLOCR=nano-vallocr -FREER=nano-freer -REALLOCR=nano-reallocr -CALLOCR=nano-callocr -CFREER=nano-cfreer -MALLINFOR=nano-mallinfor -MALLSTATSR=nano-mallstatsr -MSIZER=nano-msizer -MALLOCR=nano-mallocr -else -MALIGNR=malignr -MALLOPTR=malloptr -PVALLOCR=pvallocr -VALLOCR=vallocr -FREER=freer -REALLOCR=reallocr -CALLOCR=callocr -CFREER=cfreer -MALLINFOR=mallinfor -MALLSTATSR=mallstatsr -MSIZER=msizer -MALLOCR=mallocr -endif - EXTENDED_SOURCES = \ arc4random.c \ arc4random_uniform.c \ @@ -162,10 +134,10 @@ ELIX_2_SOURCES = \ wctob.c ELIX_2_OBJS = \ - $(lpfx)$(MALIGNR).o \ - $(lpfx)$(MALLOPTR).o \ - $(lpfx)$(PVALLOCR).o \ - $(lpfx)$(VALLOCR).o + $(lpfx)malignr.o \ + $(lpfx)malloptr.o \ + $(lpfx)pvallocr.o \ + $(lpfx)vallocr.o ELIX_3_SOURCES = \ putenv.c \ @@ -196,10 +168,10 @@ endif endif # Because of how libtool moves objects around, mallocr must be built last. -LIBADD_OBJS = $(lpfx)$(FREER).o $(lpfx)$(REALLOCR).o \ - $(lpfx)$(CALLOCR).o $(lpfx)$(CFREER).o \ - $(lpfx)$(MALLINFOR).o $(lpfx)$(MALLSTATSR).o \ - $(lpfx)$(MSIZER).o $(lpfx)$(MALLOCR).o +LIBADD_OBJS = $(lpfx)freer.o $(lpfx)reallocr.o \ + $(lpfx)callocr.o $(lpfx)cfreer.o \ + $(lpfx)mallinfor.o $(lpfx)mallstatsr.o \ + $(lpfx)msizer.o $(lpfx)mallocr.o noinst_LIBRARIES = lib.a lib_a_SOURCES = $(GENERAL_SOURCES) $(EXTENDED_SOURCES) $(ELIX_SOURCES) @@ -208,41 +180,41 @@ lib_a_CFLAGS = $(AM_CFLAGS) lib_a_DEPENDENCIES = $(LIBADD_OBJS) $(ELIX_OBJS) LIB_COMPILE = $(AM_V_CC)$(COMPILE) -$(lpfx)$(MALLOCR).o: $(MALLOCR).c - $(LIB_COMPILE) -DDEFINE_MALLOC -c $(srcdir)/$(MALLOCR).c -o $@ +$(lpfx)mallocr.o: mallocr.c + $(LIB_COMPILE) -DDEFINE_MALLOC -c $< -o $@ -$(lpfx)$(FREER).o: $(MALLOCR).c - $(LIB_COMPILE) -DDEFINE_FREE -c $(srcdir)/$(MALLOCR).c -o $@ +$(lpfx)freer.o: mallocr.c + $(LIB_COMPILE) -DDEFINE_FREE -c $< -o $@ -$(lpfx)$(REALLOCR).o: $(MALLOCR).c - $(LIB_COMPILE) -DDEFINE_REALLOC -c $(srcdir)/$(MALLOCR).c -o $@ +$(lpfx)reallocr.o: mallocr.c + $(LIB_COMPILE) -DDEFINE_REALLOC -c $< -o $@ -$(lpfx)$(CALLOCR).o: $(MALLOCR).c - $(LIB_COMPILE) -DDEFINE_CALLOC -c $(srcdir)/$(MALLOCR).c -o $@ +$(lpfx)callocr.o: mallocr.c + $(LIB_COMPILE) -DDEFINE_CALLOC -c $< -o $@ -$(lpfx)$(CFREER).o: $(MALLOCR).c - $(LIB_COMPILE) -DDEFINE_CFREE -c $(srcdir)/$(MALLOCR).c -o $@ +$(lpfx)cfreer.o: mallocr.c + $(LIB_COMPILE) -DDEFINE_CFREE -c $< -o $@ -$(lpfx)$(MALIGNR).o: $(MALLOCR).c - $(LIB_COMPILE) -DDEFINE_MEMALIGN -c $(srcdir)/$(MALLOCR).c -o $@ +$(lpfx)malignr.o: mallocr.c + $(LIB_COMPILE) -DDEFINE_MEMALIGN -c $< -o $@ -$(lpfx)$(VALLOCR).o: $(MALLOCR).c - $(LIB_COMPILE) -DDEFINE_VALLOC -c $(srcdir)/$(MALLOCR).c -o $@ +$(lpfx)vallocr.o: mallocr.c + $(LIB_COMPILE) -DDEFINE_VALLOC -c $< -o $@ -$(lpfx)$(PVALLOCR).o: $(MALLOCR).c - $(LIB_COMPILE) -DDEFINE_PVALLOC -c $(srcdir)/$(MALLOCR).c -o $@ +$(lpfx)pvallocr.o: mallocr.c + $(LIB_COMPILE) -DDEFINE_PVALLOC -c $< -o $@ -$(lpfx)$(MALLINFOR).o: $(MALLOCR).c - $(LIB_COMPILE) -DDEFINE_MALLINFO -c $(srcdir)/$(MALLOCR).c -o $@ +$(lpfx)mallinfor.o: mallocr.c + $(LIB_COMPILE) -DDEFINE_MALLINFO -c $< -o $@ -$(lpfx)$(MALLSTATSR).o: $(MALLOCR).c - $(LIB_COMPILE) -DDEFINE_MALLOC_STATS -c $(srcdir)/$(MALLOCR).c -o $@ +$(lpfx)mallstatsr.o: mallocr.c + $(LIB_COMPILE) -DDEFINE_MALLOC_STATS -c $< -o $@ -$(lpfx)$(MSIZER).o: $(MALLOCR).c - $(LIB_COMPILE) -DDEFINE_MALLOC_USABLE_SIZE -c $(srcdir)/$(MALLOCR).c -o $@ +$(lpfx)msizer.o: mallocr.c + $(LIB_COMPILE) -DDEFINE_MALLOC_USABLE_SIZE -c $< -o $@ -$(lpfx)$(MALLOPTR).o: $(MALLOCR).c - $(LIB_COMPILE) -DDEFINE_MALLOPT -c $(srcdir)/$(MALLOCR).c -o $@ +$(lpfx)malloptr.o: mallocr.c + $(LIB_COMPILE) -DDEFINE_MALLOPT -c $< -o $@ $(lpfx)dtoa.o: dtoa.c mprec.h $(lpfx)ldtoa.o: ldtoa.c mprec.h gdtoa.h diff --git a/newlib/libc/stdlib/mallocr.c b/newlib/libc/stdlib/mallocr.c index 6167433c8e2c..4b53997a34b0 100644 --- a/newlib/libc/stdlib/mallocr.c +++ b/newlib/libc/stdlib/mallocr.c @@ -1,5 +1,8 @@ +#include #ifdef MALLOC_PROVIDED int _dummy_mallocr = 1; +#elif defined(_NANO_MALLOC) +# include "nano-mallocr.c" #else /* ---------- To make a malloc.h, start cutting here ------------ */ -- 2.34.1