aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/hppa
diff options
context:
space:
mode:
authorJohn David Anglin <dave.anglin@bell.net>2016-06-21 18:35:22 -0400
committerAurelien Jarno <aurelien@aurel32.net>2016-07-01 14:40:09 +0200
commit0903610fdc31efbea4309f69e5ee3e1d4f7ed29e (patch)
tree6c3f7b0cbad2b9b33c86e6031541041df43bdc7f /sysdeps/hppa
parent3d21617c430d190e5412bc450afad22169218c0e (diff)
downloadglibc-0903610fdc31efbea4309f69e5ee3e1d4f7ed29e.zip
glibc-0903610fdc31efbea4309f69e5ee3e1d4f7ed29e.tar.gz
glibc-0903610fdc31efbea4309f69e5ee3e1d4f7ed29e.tar.bz2
hppa: fix loading of global pointer in _start [BZ #20277]
The patched change fixes a regression for executables compiled with the -p option and linked with gcrt1.o. The executables crash on startup. This regression was introduced in 2.22 and was noticed in the gcc testsuite. (cherry picked from commit 9765ffa71030efd8bb4f2ea4ed6e020fcb4bb714)
Diffstat (limited to 'sysdeps/hppa')
-rw-r--r--sysdeps/hppa/start.S2
1 files changed, 2 insertions, 0 deletions
diff --git a/sysdeps/hppa/start.S b/sysdeps/hppa/start.S
index 90d4331..b7ab830 100644
--- a/sysdeps/hppa/start.S
+++ b/sysdeps/hppa/start.S
@@ -131,8 +131,10 @@ _start:
stw %sp, -60(%sp)
#ifdef SHARED
+ /* load global */
addil LT'.Lp__global, %r19
ldw RT'.Lp__global(%r1), %dp
+ ldw 0(%dp), %dp
#else
/* load global */
ldil L%$global$, %dp