This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.26.9000-851-gd5bfa34


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  d5bfa34a53fe67e9e86edc7f5d8277dcd687d064 (commit)
      from  e4602cba2fb919546bee0eacbd10ab8ade7b7b6f (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://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=d5bfa34a53fe67e9e86edc7f5d8277dcd687d064

commit d5bfa34a53fe67e9e86edc7f5d8277dcd687d064
Author: John David Anglin <danglin@gcc.gnu.org>
Date:   Tue Nov 28 20:01:05 2017 -0500

    Fix gmon static test failures.
    
    	* sysdeps/hppa/start.S (_start): Check PIC instead of SHARED.  Load
    	address of $global$ into %dp register earlier.  Use pc-relative
    	instruction sequence for PIC case.

diff --git a/ChangeLog b/ChangeLog
index ea124d4..bffaf21 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2017-11-28  John David Anglin  <danglin@gcc.gnu.org>
+
+	* sysdeps/hppa/start.S (_start): Check PIC instead of SHARED.  Load
+	address of $global$ into %dp register earlier.  Use pc-relative
+	instruction sequence for PIC case.
+
 2017-11-28  Joseph Myers  <joseph@codesourcery.com>
 
 	* sysdeps/i386/fpu/s_asinhf.S: Include <libm-alias-float.h>.
diff --git a/sysdeps/hppa/start.S b/sysdeps/hppa/start.S
index 5db1ba9..1d69ae8 100644
--- a/sysdeps/hppa/start.S
+++ b/sysdeps/hppa/start.S
@@ -42,7 +42,7 @@
 	/* Have the linker create plabel words so we get PLABEL32
 	   relocs and not 21/14.  The use of 21/14 relocs is only
 	   supported in the latest dynamic linker.  */
-#ifdef SHARED
+#ifdef PIC
 	.section	.data.rel.ro,"aw",@progbits
 #else
 	.section	.rodata,"a",@progbits
@@ -56,10 +56,6 @@
 	.word P%__libc_csu_fini
 .Lp__libc_csu_init:
 	.word P%__libc_csu_init
-#ifdef SHARED
-.Lp__global:
-	.word $global$
-#endif
 
 	.text
 	.align 4
@@ -99,9 +95,15 @@ _start:
 	/* argc and argv should be in 25 and 24 (2nd and 3rd argument) */
 	/* void (*rtld_fini) (void) (6th argument) */
 	stw	%r23, -56(%sp)
+
 	/* Need to setup 1, 4, 5, and 7th arguments */
 
-#ifdef SHARED
+#ifdef PIC
+	/* Load $global$ address into %dp */
+	bl	.+8, %dp
+	addil	L'$global$-$PIC_pcrel$0+1, %dp
+	ldo	R'$global$-$PIC_pcrel$0+5(%r1), %dp
+
 	/* load main (1st argument) */
 	addil	LT'.Lpmain, %r19
 	ldw	RT'.Lpmain(%r1), %r26
@@ -115,6 +117,10 @@ _start:
 	ldw	RT'.Lp__libc_csu_fini(%r1), %r22
 	ldw	0(%r22), %r22
 #else
+	/* Load $global$ address into %dp */
+	ldil	L%$global$, %dp
+	ldo	R%$global$(%dp), %dp
+
 	/* load main (1st argument) */
 	ldil	LR'.Lpmain, %r26
 	ldw	RR'.Lpmain(%r26), %r26
@@ -129,17 +135,6 @@ _start:
 	stw	%r22, -52(%sp)
 	/* void *stack_end (7th argument) */
 	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
-	ldo	R%$global$(%dp), %dp
-#endif
 	bl	__libc_start_main,%r2
 	nop
 	/* die horribly if it returned (it shouldn't) */

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog            |    6 ++++++
 sysdeps/hppa/start.S |   29 ++++++++++++-----------------
 2 files changed, 18 insertions(+), 17 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]