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 DACDA3858D3C for ; Tue, 18 Jan 2022 04:48:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org DACDA3858D3C 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 73F36342D87; Tue, 18 Jan 2022 04:48:36 +0000 (UTC) From: Mike Frysinger To: newlib@sourceware.org Subject: [PATCH 1/8] newlib: internalize HAVE_INITFINI_ARRAY Date: Mon, 17 Jan 2022 23:47:34 -0500 Message-Id: <20220118044741.21027-2-vapier@gentoo.org> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20220118044741.21027-1-vapier@gentoo.org> References: <20220118044741.21027-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 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: Tue, 18 Jan 2022 04:48:39 -0000 This define is only used by newlib internally, so stop exporting it as HAVE_INITFINI_ARRAY since this can conflict with defines packages use themselves. We don't really need to add _ to HAVE_INIT_FINI too since it isn't exported in newlib.h, but might as well be consistent here. We can't (easily) add this to newlib_cflags like HAVE_INIT_FINI is because this is based on a compile-time test in the top configure, not on plain shell code in configure.host. We'd have to replicate the test in every subdir in order to have it passed down. --- newlib/configure | 2 +- newlib/configure.ac | 2 +- newlib/configure.host | 2 +- newlib/libc/misc/fini.c | 6 +++--- newlib/libc/misc/init.c | 6 +++--- newlib/libc/stdlib/__call_atexit.c | 2 +- newlib/libc/sys/arm/crt0.S | 2 +- newlib/newlib.hin | 2 +- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/newlib/configure.ac b/newlib/configure.ac index 6d89c3a328fe..4dbed8e029ac 100644 --- a/newlib/configure.ac +++ b/newlib/configure.ac @@ -650,7 +650,7 @@ fi rm -f conftest*]) AC_SUBST(libc_cv_initfinit_array) if test $libc_cv_initfinit_array = yes; then - AC_DEFINE_UNQUOTED(HAVE_INITFINI_ARRAY) + AC_DEFINE_UNQUOTED(_HAVE_INITFINI_ARRAY) fi AC_CACHE_CHECK(if $CC accepts -fno-tree-loop-distribute-patterns with \ diff --git a/newlib/configure.host b/newlib/configure.host index c429dde1c3d1..ca6b46f03e09 100644 --- a/newlib/configure.host +++ b/newlib/configure.host @@ -992,7 +992,7 @@ fi # Have init/finit if not explicitly specified otherwise if [ "x${have_init_fini}" != "xno" ]; then - newlib_cflags="${newlib_cflags} -DHAVE_INIT_FINI" + newlib_cflags="${newlib_cflags} -D_HAVE_INIT_FINI" fi if test -z "${have_crt0}" && test -n "${sys_dir}"; then diff --git a/newlib/libc/misc/fini.c b/newlib/libc/misc/fini.c index 56eed6cb3b7f..5f2016070615 100644 --- a/newlib/libc/misc/fini.c +++ b/newlib/libc/misc/fini.c @@ -13,11 +13,11 @@ /* Handle ELF .{pre_init,init,fini}_array sections. */ #include -#ifdef HAVE_INITFINI_ARRAY +#ifdef _HAVE_INITFINI_ARRAY extern void (*__fini_array_start []) (void) __attribute__((weak)); extern void (*__fini_array_end []) (void) __attribute__((weak)); -#ifdef HAVE_INIT_FINI +#ifdef _HAVE_INIT_FINI extern void _fini (void); #endif @@ -32,7 +32,7 @@ __libc_fini_array (void) for (i = count; i > 0; i--) __fini_array_start[i-1] (); -#ifdef HAVE_INIT_FINI +#ifdef _HAVE_INIT_FINI _fini (); #endif } diff --git a/newlib/libc/misc/init.c b/newlib/libc/misc/init.c index 95f1a742292a..3aef7ad069da 100644 --- a/newlib/libc/misc/init.c +++ b/newlib/libc/misc/init.c @@ -13,7 +13,7 @@ /* Handle ELF .{pre_init,init,fini}_array sections. */ #include -#ifdef HAVE_INITFINI_ARRAY +#ifdef _HAVE_INITFINI_ARRAY /* These magic symbols are provided by the linker. */ extern void (*__preinit_array_start []) (void) __attribute__((weak)); @@ -21,7 +21,7 @@ extern void (*__preinit_array_end []) (void) __attribute__((weak)); extern void (*__init_array_start []) (void) __attribute__((weak)); extern void (*__init_array_end []) (void) __attribute__((weak)); -#ifdef HAVE_INIT_FINI +#ifdef _HAVE_INIT_FINI extern void _init (void); #endif @@ -36,7 +36,7 @@ __libc_init_array (void) for (i = 0; i < count; i++) __preinit_array_start[i] (); -#ifdef HAVE_INIT_FINI +#ifdef _HAVE_INIT_FINI _init (); #endif diff --git a/newlib/libc/stdlib/__call_atexit.c b/newlib/libc/stdlib/__call_atexit.c index 3eec11214c1f..c29a03c8eee1 100644 --- a/newlib/libc/stdlib/__call_atexit.c +++ b/newlib/libc/stdlib/__call_atexit.c @@ -49,7 +49,7 @@ static void register_fini(void) { if (&__libc_fini) { -#ifdef HAVE_INITFINI_ARRAY +#ifdef _HAVE_INITFINI_ARRAY extern void __libc_fini_array (void); atexit (__libc_fini_array); #else diff --git a/newlib/libc/sys/arm/crt0.S b/newlib/libc/sys/arm/crt0.S index 5e677a23cfe2..6b01d8a88b77 100644 --- a/newlib/libc/sys/arm/crt0.S +++ b/newlib/libc/sys/arm/crt0.S @@ -12,7 +12,7 @@ #error __USER_LABEL_PREFIX is not defined #endif -#ifdef HAVE_INITFINI_ARRAY +#ifdef _HAVE_INITFINI_ARRAY #define _init __libc_init_array #define _fini __libc_fini_array #endif diff --git a/newlib/newlib.hin b/newlib/newlib.hin index a0999512cc4f..37ed88e9784c 100644 --- a/newlib/newlib.hin +++ b/newlib/newlib.hin @@ -49,7 +49,7 @@ /* Define if the linker supports .preinit_array/.init_array/.fini_array * sections. */ -#undef HAVE_INITFINI_ARRAY +#undef _HAVE_INITFINI_ARRAY /* True if atexit() may dynamically allocate space for cleanup functions. */ -- 2.33.0