From 437c5c5085ff30b4a4960b2b53d06728c788361d Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Mon, 17 Jan 2022 22:20:20 -0500 Subject: newlib: internalize HAVE_INITFINI_ARRAY 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 b/newlib/configure index e303a27..8190f9f 100755 --- a/newlib/configure +++ b/newlib/configure @@ -12817,7 +12817,7 @@ $as_echo "$libc_cv_initfinit_array" >&6; } if test $libc_cv_initfinit_array = yes; then cat >>confdefs.h <<_ACEOF -#define HAVE_INITFINI_ARRAY 1 +#define _HAVE_INITFINI_ARRAY 1 _ACEOF fi diff --git a/newlib/configure.ac b/newlib/configure.ac index 361bbfb..8dca042 100644 --- a/newlib/configure.ac +++ b/newlib/configure.ac @@ -648,7 +648,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 c429dde..ca6b46f 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 56eed6c..5f20160 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 95f1a74..3aef7ad 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 3eec112..c29a03c 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 5e677a2..6b01d8a 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 a099951..37ed88e 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. */ -- cgit v1.1