This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.26.9000-851-gd5bfa34
- From: danglin at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 29 Nov 2017 01:03:33 -0000
- Subject: 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