diff options
author | Palmer Dabbelt <palmer@dabbelt.com> | 2017-02-08 11:26:07 -0800 |
---|---|---|
committer | Palmer Dabbelt <palmer@dabbelt.com> | 2017-02-13 09:52:15 -0800 |
commit | 3877052c50b54e43d0667e77f69e99e656d6a1b9 (patch) | |
tree | cf6e9d73ebd2839ebf90f86d7bed311f8120075a | |
parent | e7ec0c47c5500b572b847cddd5b0868ef3784473 (diff) | |
download | gdb-3877052c50b54e43d0667e77f69e99e656d6a1b9.zip gdb-3877052c50b54e43d0667e77f69e99e656d6a1b9.tar.gz gdb-3877052c50b54e43d0667e77f69e99e656d6a1b9.tar.bz2 |
Don't use "_gp" on RISC-V, use "_global_pointer$" instead
"_gp" could conflict with ABI-complient code. While it's probably OK
because MIPS uses this name, we figured it'd be good to clean this up
before a release with RISC-V in it.
ld/ChangeLog:
2017-02-13 Palmer Dabbelt <palmer@dabbelt.com>
* emulparams/elf32lriscv-defs.sh (SDATA_START_SYMBOLS): Change
_gp to __global_pointer$.
bfd/ChangeLog:
2017-02-13 Palmer Dabbelt <palmer@dabbelt.com>
* elfnn-riscv.c (riscv_global_pointer_value): Change _gp to
__global_pointer$.
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elfnn-riscv.c | 2 | ||||
-rw-r--r-- | ld/ChangeLog | 5 | ||||
-rw-r--r-- | ld/emulparams/elf32lriscv-defs.sh | 2 |
4 files changed, 12 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 8ceba71..d10fe8c 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2017-02-13 Palmer Dabbelt <palmer@dabbelt.com> + + * elfnn-riscv.c (riscv_global_pointer_value): Change _gp to + __global_pointer$. + 2017-02-13 Maciej W. Rozycki <macro@imgtec.com> * elfxx-mips.c (mips_elf_hash_sort_data): Add diff --git a/bfd/elfnn-riscv.c b/bfd/elfnn-riscv.c index f414429..ab002b6 100644 --- a/bfd/elfnn-riscv.c +++ b/bfd/elfnn-riscv.c @@ -1463,7 +1463,7 @@ riscv_global_pointer_value (struct bfd_link_info *info) { struct bfd_link_hash_entry *h; - h = bfd_link_hash_lookup (info->hash, "_gp", FALSE, FALSE, TRUE); + h = bfd_link_hash_lookup (info->hash, "__global_pointer$", FALSE, FALSE, TRUE); if (h == NULL || h->type != bfd_link_hash_defined) return 0; diff --git a/ld/ChangeLog b/ld/ChangeLog index 75ede4a..c9aef53 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +2017-02-13 Palmer Dabbelt <palmer@dabbelt.com> + + * emulparams/elf32lriscv-defs.sh (SDATA_START_SYMBOLS): Change + _gp to __global_pointer$ + 2017-02-03 Alan Modra <amodra@gmail.com> PR ld/21000 diff --git a/ld/emulparams/elf32lriscv-defs.sh b/ld/emulparams/elf32lriscv-defs.sh index 0eba0d1..ab80333 100644 --- a/ld/emulparams/elf32lriscv-defs.sh +++ b/ld/emulparams/elf32lriscv-defs.sh @@ -23,7 +23,7 @@ TEXT_START_ADDR=0x10000 MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" -SDATA_START_SYMBOLS="_gp = . + 0x800; +SDATA_START_SYMBOLS="__global_pointer$ = . + 0x800; *(.srodata.cst16) *(.srodata.cst8) *(.srodata.cst4) *(.srodata.cst2) *(.srodata .srodata.*)" INITIAL_READONLY_SECTIONS=".interp : { *(.interp) } ${CREATE_PIE-${INITIAL_READONLY_SECTIONS}}" |