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-909-g800a496
- From: danglin at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 2 Dec 2017 16:06:28 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.26.9000-909-g800a496
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 800a496acbb8c43036b3832460220d4ecbbc22a4 (commit)
from d17542d235dd6dd4a83d28997f789543417afe11 (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=800a496acbb8c43036b3832460220d4ecbbc22a4
commit 800a496acbb8c43036b3832460220d4ecbbc22a4
Author: John David Anglin <danglin@gcc.gnu.org>
Date: Sat Dec 2 11:04:16 2017 -0500
Improve PIC pc-relative instruction sequences on hppa.
* sysdeps/hppa/dl-fptr.c (elf_machine_resolve): Remove unnecessary
depi instruction from PIC pc-relative sequence.
* sysdeps/hppa/dl-fptr.h (ELF_MACHINE_LOAD_ADDRESS): Likewise.
* sysdeps/hppa/dl-machine.h (elf_machine_dynamic): Likewise.
(elf_machine_load_address): Likewise.
(elf_machine_runtime_setup): Likewise.
diff --git a/ChangeLog b/ChangeLog
index 3354d09..d85007e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2017-12-02 John David Anglin <danglin@gcc.gnu.org>
+
+ * sysdeps/hppa/dl-fptr.c (elf_machine_resolve): Remove unnecessary
+ depi instruction from PIC pc-relative sequence.
+ * sysdeps/hppa/dl-fptr.h (ELF_MACHINE_LOAD_ADDRESS): Likewise.
+ * sysdeps/hppa/dl-machine.h (elf_machine_dynamic): Likewise.
+ (elf_machine_load_address): Likewise.
+ (elf_machine_runtime_setup): Likewise.
+
2017-12-02 Joseph Myers <joseph@codesourcery.com>
* sysdeps/powerpc/power7/fpu/s_logb.c: Include
diff --git a/sysdeps/hppa/dl-fptr.c b/sysdeps/hppa/dl-fptr.c
index 96fd09d..d2cc413 100644
--- a/sysdeps/hppa/dl-fptr.c
+++ b/sysdeps/hppa/dl-fptr.c
@@ -329,9 +329,8 @@ elf_machine_resolve (void)
Elf32_Addr addr;
asm ("b,l 1f,%0\n"
-" depi 0,31,2,%0\n"
-"1: addil L'_dl_runtime_resolve - ($PIC_pcrel$0 - 8),%0\n"
-" ldo R'_dl_runtime_resolve - ($PIC_pcrel$0 - 12)(%%r1),%0\n"
+" addil L'_dl_runtime_resolve - ($PIC_pcrel$0 - 1),%0\n"
+"1: ldo R'_dl_runtime_resolve - ($PIC_pcrel$0 - 5)(%%r1),%0\n"
: "=r" (addr) : : "r1");
return addr;
diff --git a/sysdeps/hppa/dl-fptr.h b/sysdeps/hppa/dl-fptr.h
index 0cb5052..3ed86bb 100644
--- a/sysdeps/hppa/dl-fptr.h
+++ b/sysdeps/hppa/dl-fptr.h
@@ -31,9 +31,8 @@ extern void _dl_fptr_init (void);
#define ELF_MACHINE_LOAD_ADDRESS(var, symbol) \
asm ( \
" b,l 1f,%0\n" \
-" depi 0,31,2,%0\n" \
-"1: addil L'" #symbol " - ($PIC_pcrel$0 - 8),%0\n" \
-" ldo R'" #symbol " - ($PIC_pcrel$0 - 12)(%%r1),%0\n" \
+" addil L'" #symbol " - ($PIC_pcrel$0 - 1),%0\n" \
+"1: ldo R'" #symbol " - ($PIC_pcrel$0 - 5)(%%r1),%0\n" \
: "=&r" (var) : : "r1");
#endif /* !dl_hppa_fptr_h */
diff --git a/sysdeps/hppa/dl-machine.h b/sysdeps/hppa/dl-machine.h
index acfb9fc..11ee9ca 100644
--- a/sysdeps/hppa/dl-machine.h
+++ b/sysdeps/hppa/dl-machine.h
@@ -81,10 +81,9 @@ elf_machine_dynamic (void)
{
Elf32_Addr dynamic;
- asm ("b,l 1f,%0\n"
-" depi 0,31,2,%0\n"
-"1: addil L'_GLOBAL_OFFSET_TABLE_ - ($PIC_pcrel$0 - 8),%0\n"
-" ldw R'_GLOBAL_OFFSET_TABLE_ - ($PIC_pcrel$0 - 12)(%%r1),%0\n"
+ asm ("bl 1f,%0\n"
+" addil L'_GLOBAL_OFFSET_TABLE_ - ($PIC_pcrel$0 - 1),%0\n"
+"1: ldw R'_GLOBAL_OFFSET_TABLE_ - ($PIC_pcrel$0 - 5)(%%r1),%0\n"
: "=r" (dynamic) : : "r1");
return dynamic;
@@ -100,10 +99,9 @@ elf_machine_load_address (void)
Elf32_Addr dynamic;
asm (
-" b,l 1f,%0\n"
-" depi 0,31,2,%0\n"
-"1: addil L'_DYNAMIC - ($PIC_pcrel$0 - 8),%0\n"
-" ldo R'_DYNAMIC - ($PIC_pcrel$0 - 12)(%%r1),%0\n"
+" bl 1f,%0\n"
+" addil L'_DYNAMIC - ($PIC_pcrel$0 - 1),%0\n"
+"1: ldo R'_DYNAMIC - ($PIC_pcrel$0 - 5)(%%r1),%0\n"
: "=r" (dynamic) : : "r1");
return dynamic - elf_machine_dynamic ();
@@ -339,14 +337,13 @@ asm ( \
just like a branch reloc. This sequence gets us the \
runtime address of _DYNAMIC. */ \
" bl 0f,%r19\n" \
-" depi 0,31,2,%r19\n" /* clear priviledge bits */ \
-"0: addil L'_DYNAMIC - ($PIC_pcrel$0 - 8),%r19\n" \
-" ldo R'_DYNAMIC - ($PIC_pcrel$0 - 12)(%r1),%r26\n" \
+" addil L'_DYNAMIC - ($PIC_pcrel$0 - 1),%r19\n" \
+"0: ldo R'_DYNAMIC - ($PIC_pcrel$0 - 5)(%r1),%r26\n" \
\
/* The link time address is stored in the first entry of the \
GOT. */ \
-" addil L'_GLOBAL_OFFSET_TABLE_ - ($PIC_pcrel$0 - 16),%r19\n" \
-" ldw R'_GLOBAL_OFFSET_TABLE_ - ($PIC_pcrel$0 - 20)(%r1),%r20\n" \
+" addil L'_GLOBAL_OFFSET_TABLE_ - ($PIC_pcrel$0 - 9),%r19\n" \
+" ldw R'_GLOBAL_OFFSET_TABLE_ - ($PIC_pcrel$0 - 13)(%r1),%r20\n" \
\
" sub %r26,%r20,%r20\n" /* Calculate load offset */ \
\
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 9 +++++++++
sysdeps/hppa/dl-fptr.c | 5 ++---
sysdeps/hppa/dl-fptr.h | 5 ++---
sysdeps/hppa/dl-machine.h | 23 ++++++++++-------------
4 files changed, 23 insertions(+), 19 deletions(-)
hooks/post-receive
--
GNU C Library master sources