mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-02-17 13:10:12 +08:00
[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.
This commit is contained in:
parent
cc89d0b334
commit
7ef0acc15e
@ -1,3 +1,8 @@
|
||||
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
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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. */
|
||||
|
Loading…
Reference in New Issue
Block a user