summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPalmer Dabbelt <palmer@dabbelt.com>2017-02-08 11:26:07 -0800
committerPalmer Dabbelt <palmer@dabbelt.com>2017-02-13 09:52:15 -0800
commit3877052c50b54e43d0667e77f69e99e656d6a1b9 (patch)
treecf6e9d73ebd2839ebf90f86d7bed311f8120075a
parente7ec0c47c5500b572b847cddd5b0868ef3784473 (diff)
downloadbinutils-gdb-3877052c50b54e43d0667e77f69e99e656d6a1b9.tar.gz
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/ChangeLog5
-rw-r--r--bfd/elfnn-riscv.c2
-rw-r--r--ld/ChangeLog5
-rw-r--r--ld/emulparams/elf32lriscv-defs.sh2
4 files changed, 12 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 8ceba712c42..d10fe8c6480 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 f414429ebe8..ab002b673cf 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 75ede4ab5f1..c9aef537dd1 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 0eba0d1a0cb..ab803332898 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}}"