]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Fix profiling on powerpc32 secure-plt shared libs and PIEs
authorAlan Modra <amodra@gmail.com>
Thu, 8 Sep 2011 02:02:42 +0000 (22:02 -0400)
committerUlrich Drepper <drepper@gmail.com>
Thu, 8 Sep 2011 02:02:42 +0000 (22:02 -0400)
ChangeLog
NEWS
sysdeps/powerpc/Makefile
sysdeps/powerpc/powerpc32/Makefile
sysdeps/powerpc/powerpc32/Versions
sysdeps/powerpc/powerpc32/ppc-mcount.S
sysdeps/powerpc/powerpc64/Makefile

index 1ed1e58e5f4c9c7f92604ea0a186a38f76e7323a..283259baccd719cb835ed480b9f110474fb5ef2b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2011-08-15  Alan Modra  <amodra@gmail.com>
+
+       [BZ #13092]
+       * sysdeps/powerpc/Makefile (gmon): Move sysdep_routines to..
+       * sysdeps/powerpc/powerpc64/Makefile (gmon): ..here..
+       * sysdeps/powerpc/powerpc32/Makefile (gmon): ..and here.  Add
+       ppc_mcount to static-only-routines.
+       * sysdeps/powerpc/powerpc32/Versions: Export GLIBC_PRIVATE
+       __mcount_internal.
+       * sysdeps/powerpc/powerpc32/ppc-mcount.S (_mcount): Call
+       __mcount_internal with usual JUMPTARGET.  Remove useless nop.
+
 2011-08-04  Will Schmidt  <will_schmidt@vnet.ibm.com>
 
        * sysdeps/powerpc/powerpc32/power7/strncmp.S: Adjust the alignment
diff --git a/NEWS b/NEWS
index 3eda9c1952f84a200e4ff03c28848f73c4b132b1..f4d6ab5ca2e1ae0a89745950482d7c01f29eb94d 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
-GNU C Library NEWS -- history of user-visible changes.  2011-9-5
+GNU C Library NEWS -- history of user-visible changes.  2011-9-7
 Copyright (C) 1992-2009, 2010, 2011 Free Software Foundation, Inc.
 See the end for copying conditions.
 
@@ -10,7 +10,7 @@ Version 2.15
 * The following bugs are resolved with this release:
 
   9696, 12868, 12852, 12874, 12885, 12907, 12922, 12935, 13007, 13021,
-  13068, 13114, 13134, 13144, 13150
+  13068, 13092, 13114, 13134, 13144, 13150
 
 * New program pldd to list loaded object of a process
   Implemented by Ulrich Drepper.
index 616458f13669103b6ecf2dee423eb5d4c7dc550b..e43ca704f051615a83f45ad6dec9f7b04b02e272 100644 (file)
@@ -2,10 +2,6 @@
 # machine.
 +cflags += -mnew-mnemonics
 
-ifeq ($(subdir),gmon)
-sysdep_routines += ppc-mcount
-endif
-
 ifeq ($(subdir),string)
 CFLAGS-memcmp.c += -Wno-uninitialized
 endif
index 1d58a063d672deb98fc29e6ab9c34b83f20c4d3d..ed24484c2e9d5229fe0591400e7e4383cbd39edd 100644 (file)
@@ -5,6 +5,11 @@ ifeq ($(with-fp),no)
 sysdep-LDFLAGS += -msoft-float
 endif
 
+ifeq ($(subdir),gmon)
+sysdep_routines += ppc-mcount
+static-only-routines += ppc-mcount
+endif
+
 ifeq ($(subdir),misc)
 sysdep_routines += gprsave0 gprrest0 gprsave1 gprrest1
 endif
index 3635c4a4a1f71528157742381cbc1b69f5fdd311..ad4972e4ddc5cb013c0bf371932152157c807535 100644 (file)
@@ -8,6 +8,9 @@ libc {
     __fixsfdi; __fixunssfdi;
     __floatdidf; __floatdisf;
   }
+  GLIBC_PRIVATE {
+    __mcount_internal;
+  }
 }
 
 libm {
index 7e39acb55b5460c70ac16e78af66ae68b203f9a7..c7720a15bcf03c4c890e6dbe057824c42661e992 100644 (file)
@@ -58,8 +58,7 @@ ENTRY(_mcount)
        stw     r4, 44(r1)
        cfi_offset (lr, -4)
        stw     r5,  8(r1)
-       bl      __mcount_internal@local
-       nop
+       bl      JUMPTARGET(__mcount_internal)
  /* Restore the registers...  */
        lwz     r6,  8(r1)
        lwz     r0, 44(r1)
index 136de3008e487a1524e27298b13ff5d872a0e1e1..9056e60c4e975322e5b60abd76b86280c9113ff2 100644 (file)
@@ -45,4 +45,5 @@ ifeq ($(subdir),gmon)
 # Compiling with -msoft-float ensures that fp regs are not used
 # for moving memory around.
 CFLAGS-mcount.c += $(no-special-regs)
+sysdep_routines += ppc-mcount
 endif