public inbox for newlib-cvs@sourceware.org
help / color / mirror / Atom feed
* [newlib-cygwin] newlib: internalize HAVE_INITFINI_ARRAY
@ 2022-01-20  1:01 Michael Frysinger
  0 siblings, 0 replies; only message in thread
From: Michael Frysinger @ 2022-01-20  1:01 UTC (permalink / raw)
  To: newlib-cvs

https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=437c5c5085ff30b4a4960b2b53d06728c788361d

commit 437c5c5085ff30b4a4960b2b53d06728c788361d
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Mon Jan 17 22:20:20 2022 -0500

    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.

Diff:
---
 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 e303a2729..8190f9f2e 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 361bbfbac..8dca042aa 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 c429dde1c..ca6b46f03 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 56eed6cb3..5f2016070 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 <sys/types.h>
 
-#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 95f1a7422..3aef7ad06 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 <sys/types.h>
 
-#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 3eec11214..c29a03c8e 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 5e677a23c..6b01d8a88 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 a0999512c..37ed88e97 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.  */


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-01-20  1:01 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-20  1:01 [newlib-cygwin] newlib: internalize HAVE_INITFINI_ARRAY Michael Frysinger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).