This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.17-269-ge21d7aa
- From: krebbel at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 21 Feb 2013 08:48:19 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.17-269-ge21d7aa
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 e21d7aa71c0700b6611bd55881b862ac73c5cd5b (commit)
from 4c7a4263afe8304e127ae2888950f02c8bc9a9f9 (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=e21d7aa71c0700b6611bd55881b862ac73c5cd5b
commit e21d7aa71c0700b6611bd55881b862ac73c5cd5b
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date: Thu Feb 21 09:47:55 2013 +0100
S/390: Fix _dl_runtime_profile for 32 bit.
diff --git a/ChangeLog b/ChangeLog
index fa98152..18645d0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2013-02-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * sysdeps/s390/s390-32/dl-trampoline.S (_dl_runtime_profile): Do a
+ tail-call to the resolved function if pltexit isn't needed.
+
2013-02-21 Siddhesh Poyarekar <siddhesh@redhat.com>
* sysdeps/powerpc/powerpc32/power4/fpu/mpa.c (__mul): Mark X
diff --git a/sysdeps/s390/s390-32/dl-trampoline.S b/sysdeps/s390/s390-32/dl-trampoline.S
index 2846d84..1ae43cb 100644
--- a/sysdeps/s390/s390-32/dl-trampoline.S
+++ b/sysdeps/s390/s390-32/dl-trampoline.S
@@ -95,16 +95,16 @@ _dl_runtime_profile:
lr %r1,%r2 # function addr returned in r2
icm %r0,15,20(%r12) # load & test framesize
jnm 2f
+
lm %r2,%r6,32(%r12)
ld %f0,56(%r12)
ld %f2,64(%r12)
- basr %r14,%r1 # call resolved function
-1: lr %r15,%r12 # remove stack frame
+ lr %r15,%r12 # remove stack frame
cfi_def_cfa_register (15)
l %r14,16(%r15) # restore registers
l %r12,12(%r15)
- l %r6,8(%r15)
- br %r14
+ br %r1 # tail-call to the resolved function
+
cfi_def_cfa_register (12)
2: jz 4f # framesize == 0 ?
ahi %r0,7 # align framesize to 8
@@ -131,7 +131,13 @@ _dl_runtime_profile:
la %r4,32(%r12) # pointer to struct La_s390_32_regs
la %r5,72(%r12) # pointer to struct La_s390_32_retval
basr %r14,%r1 # call _dl_call_pltexit
- j 1b
+
+ lr %r15,%r12 # remove stack frame
+ cfi_def_cfa_register (15)
+ l %r14,16(%r15) # restore registers
+ l %r12,12(%r15)
+ br %r14
+
6: .long _dl_profile_fixup - 0b
7: .long _dl_call_pltexit - 5b
cfi_endproc
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 5 +++++
sysdeps/s390/s390-32/dl-trampoline.S | 16 +++++++++++-----
2 files changed, 16 insertions(+), 5 deletions(-)
hooks/post-receive
--
GNU C Library master sources