summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVineet Gupta <vgupta@synopsys.com>2016-05-30 15:19:22 +0530
committerCupertino Miranda <cmiranda@synopsys.com>2017-06-08 19:00:35 +0200
commit7ef0acc15ec011371a3901a997c867165bf7a733 (patch)
treeebbaf1950fed9f820e85f791edabd7a2c238f372
parentcc89d0b3344614ae97456df84034096b698e5790 (diff)
downloadbinutils-gdb-7ef0acc15ec011371a3901a997c867165bf7a733.tar.gz
[ARC] Don't convert _DYNAMIC@ to _GLOBAL_OFFSET_TABLE_
Historically the arc abi demanded that a GOT[0] should be referencible as [pc+_DYNAMIC@gotpc]. Hence we convert a _DYNAMIC@gotpc to a GOTPC reference to _GLOBAL_OFFSET_TABLE_. This is no longer the case and uClibc and upcomming GNU libc don't expect this to happen. gas/ChangeLog: Vineet Gupta <vgupta@synopsys.com> Cupertino Miranda <cmiranda@synopsys.com> * config/tc-arc.c (md_undefined_symbol): Changed. * config/tc-arc.h (DYNAMIC_STRUCT_NAME): Removed.
-rw-r--r--bfd/ChangeLog5
-rw-r--r--gas/config/tc-arc.c5
-rw-r--r--gas/config/tc-arc.h1
3 files changed, 6 insertions, 5 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index a436e2e5212..7fd33220451 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,10 @@
2017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
+ * config/tc-arc.c (md_undefined_symbol): Changed.
+ * config/tc-arc.h (DYNAMIC_STRUCT_NAME): Removed.
+
+2017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
+
* elf32-arc.c (elf_arc_relocate_section): Fixed reassign of indirect
symbols.
diff --git a/gas/config/tc-arc.c b/gas/config/tc-arc.c
index 55aaf0782af..a56b2a5df1a 100644
--- a/gas/config/tc-arc.c
+++ b/gas/config/tc-arc.c
@@ -3280,10 +3280,7 @@ md_undefined_symbol (char *name)
GOTPC reference to _GLOBAL_OFFSET_TABLE_. */
if (((*name == '_')
&& (*(name+1) == 'G')
- && (strcmp (name, GLOBAL_OFFSET_TABLE_NAME) == 0))
- || ((*name == '_')
- && (*(name+1) == 'D')
- && (strcmp (name, DYNAMIC_STRUCT_NAME) == 0)))
+ && (strcmp (name, GLOBAL_OFFSET_TABLE_NAME) == 0)))
{
if (!GOT_symbol)
{
diff --git a/gas/config/tc-arc.h b/gas/config/tc-arc.h
index f4cafe98597..f887fcc0c55 100644
--- a/gas/config/tc-arc.h
+++ b/gas/config/tc-arc.h
@@ -171,7 +171,6 @@ extern long md_pcrel_from_section (struct fix *, segT);
#define tc_frob_label(S) arc_frob_label (S)
#define GLOBAL_OFFSET_TABLE_NAME "_GLOBAL_OFFSET_TABLE_"
-#define DYNAMIC_STRUCT_NAME "_DYNAMIC"
/* We need to take care of not having section relative fixups for the
fixups with respect to Position Independent Code. */