about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--NEWS1
-rw-r--r--sysdeps/hppa/start.S2
3 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index aaba8df217..3c8315f88f 100644
--- 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 532cfe2f62..07f3fe8569 100644
--- 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
 
 
 Version 2.23
diff --git a/sysdeps/hppa/start.S b/sysdeps/hppa/start.S
index 90d4331f5a..b7ab830e92 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