]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
hppa: fix loading of global pointer in _start [BZ #20277]
authorJohn David Anglin <dave.anglin@bell.net>
Tue, 21 Jun 2016 22:35:22 +0000 (18:35 -0400)
committerMike Frysinger <vapier@gentoo.org>
Thu, 30 Jun 2016 15:37:08 +0000 (11:37 -0400)
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.

ChangeLog
sysdeps/hppa/start.S

index 082422866dd3d315518d2f141893c9fe26b450ee..c61020f435a8ab97fe615dee2780aa8ab37f110b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2016-06-30  John David Anglin  <danglin@gcc.gnu.org>
+
+       [BZ #20277]
+       * sysdeps/hppa/start.S (_start): Correct loading of global pointer
+       when SHARED is defined.
+
 2016-06-30  H.J. Lu  <hongjiu.lu@intel.com>
 
        * sysdeps/x86/cpu-features.h (bit_arch_Prefer_ERMS): New.
index 90d4331f5ab9696785d7361d8ff63e69e80d1ee3..b7ab830e9245d60dd4a80f949650c9a49d6bca52 100644 (file)
@@ -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