]> 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)
committerRyan S. Arnold <ryan.arnold@linaro.org>
Sat, 22 Oct 2016 16:49:07 +0000 (11:49 -0500)
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)

ChangeLog
NEWS
sysdeps/hppa/start.S

index d92460831ae380813b9e777cf0e59197a7dc3c94..c2c8d7e5216ed2643da505cae9915a13d884d574 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  Aurelien Jarno  <aurelien@aurel32.net>
 
        * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Regenerated.
diff --git a/NEWS b/NEWS
index 532cfe2f626d24302dfdfc5e2a77f66f36d582e6..07f3fe8569de35a67cce2835eb2be39fae43e053 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -34,6 +34,7 @@ The following bugs are resolved with this release:
   [19822] libm.so install clobbers old version
   [19879] network: nss_dns: Stack overflow in getnetbyname implementation
     (CVE-2016-3075)
+  [20177] $dp is not initialized correctly in sysdeps/hppa/start.S
 
 \f
 Version 2.23
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