[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:
Vineet Gupta 2016-05-30 15:19:22 +05:30 committed by Cupertino Miranda
parent cc89d0b334
commit 7ef0acc15e
3 changed files with 6 additions and 5 deletions

View File

@ -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

View File

@ -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)
{

View File

@ -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. */