This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.16-ports-merge-250-g35a5b08


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  35a5b08bd4a5fc34d171480f32b9a235a94ff692 (commit)
      from  6aa2f685b2e3c1dd13fe7d1a3c07bb41f151c322 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=35a5b08bd4a5fc34d171480f32b9a235a94ff692

commit 35a5b08bd4a5fc34d171480f32b9a235a94ff692
Author: Roland McGrath <roland@hack.frob.com>
Date:   Wed Aug 22 12:53:38 2012 -0700

    Fix libc-start change for IRELless machines.

diff --git a/ChangeLog b/ChangeLog
index 5c2aea1..fbaadca 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-08-22  Roland McGrath  <roland@hack.frob.com>
+
+	* csu/libc-start.c (apply_irel): Move extern declarations inside here.
+	Conditionalize whole body on [IREL].
+
 2012-08-22  Jeff Law <law@redhat.com>
 
 	[BZ #14505]
diff --git a/csu/libc-start.c b/csu/libc-start.c
index 7e541d4..e335b64 100644
--- a/csu/libc-start.c
+++ b/csu/libc-start.c
@@ -62,18 +62,19 @@ uintptr_t __stack_chk_guard attribute_relro;
 #  define IREL		elf_irel
 # endif
 
-/* We use weak references for these so that we'll still work with a linker
-   that doesn't define them.  Such a linker doesn't support IFUNC at all
-   and so uses won't work, but a statically-linked program that doesn't
-   use any IFUNC symbols won't have a problem.  */
-extern const IREL_T IPLT_START[] __attribute__ ((weak));
-extern const IREL_T IPLT_END[] __attribute__ ((weak));
-
 static void
 apply_irel (void)
 {
+# ifdef IREL
+  /* We use weak references for these so that we'll still work with a linker
+     that doesn't define them.  Such a linker doesn't support IFUNC at all
+     and so uses won't work, but a statically-linked program that doesn't
+     use any IFUNC symbols won't have a problem.  */
+  extern const IREL_T IPLT_START[] __attribute__ ((weak));
+  extern const IREL_T IPLT_END[] __attribute__ ((weak));
   for (const IREL_T *ipltent = IPLT_START; ipltent < IPLT_END; ++ipltent)
     IREL (ipltent);
+# endif
 }
 #endif
 

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog        |    5 +++++
 csu/libc-start.c |   15 ++++++++-------
 2 files changed, 13 insertions(+), 7 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]