From 7ef0acc15ec011371a3901a997c867165bf7a733 Mon Sep 17 00:00:00 2001 From: Vineet Gupta Date: Mon, 30 May 2016 15:19:22 +0530 Subject: [PATCH] [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 Cupertino Miranda * config/tc-arc.c (md_undefined_symbol): Changed. * config/tc-arc.h (DYNAMIC_STRUCT_NAME): Removed. --- bfd/ChangeLog | 5 +++++ gas/config/tc-arc.c | 5 +---- gas/config/tc-arc.h | 1 - 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index a436e2e521..7fd3322045 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2017-06-08 Cupertino Miranda + + * config/tc-arc.c (md_undefined_symbol): Changed. + * config/tc-arc.h (DYNAMIC_STRUCT_NAME): Removed. + 2017-06-08 Cupertino Miranda * elf32-arc.c (elf_arc_relocate_section): Fixed reassign of indirect diff --git a/gas/config/tc-arc.c b/gas/config/tc-arc.c index 55aaf0782a..a56b2a5df1 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 f4cafe9859..f887fcc0c5 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. */ -- 2.34.1