diff options
author | Alan Modra <amodra@gmail.com> | 2011-08-19 11:39:38 -0500 |
---|---|---|
committer | Ryan S. Arnold <rsa@us.ibm.com> | 2011-09-12 16:33:41 -0500 |
commit | 736d35d8016504c74c28cd9e8ffd3b45039535dc (patch) | |
tree | ed2339b38c27a05143dcafa5c1beb75a0ac80978 /ChangeLog | |
parent | f0b0adf85a3550959fef4b8ee1d1a2b7f70befe8 (diff) | |
download | glibc-736d35d8016504c74c28cd9e8ffd3b45039535dc.tar.gz |
Fix profiling on powerpc32 secure-plt shared libs and PIEs
This patch moves the ppc32 _mcount to libc_shared.a, fixing a
long-standing bug with profiling of secure-plt shared libraries and
PIEs. The problem is that a ppc32 PIC PLT call stub uses r30 (GOT
pointer) to load the function address from the PLT, r30 being set up
in the function prologue, but _mcount is called before the function
prologue. So chances are good that r30 will be pointing to the
executable GOT when trying to call _mcount in a shared lib function.
A similar problem can occur in a PIE if a shared lib calls a function
in the executable.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -3,6 +3,18 @@ * sysdeps/ieee754/ldbl-128ibm/s_fmal.c: New file which checks for finite and infinity parameters. +2011-08-15 Alan Modra <amodra@gmail.com> + + PR 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 |