mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-19 17:18:24 +08:00
bfd/arc: Rename enum entries to avoid conflicts
In bfd/elf32-arc.c an enum is created that contains entries with generic names like 'NONE' and 'OFF'. This has been fine for now, but I had a need to include opcode/arc.h into bfd/elf32-arc.c. Unfortunately opcode/arc.h includes a different enum with identical generic names. Given that changing the enum in the header file could mean wide-ranging changes, while changing the enum in the .c file is limited to only changing the one file, I've added a prefix to the enum in the .c file. This commit does not add the new include, that will come later. There should be no functional change with this commit. bfd/ChangeLog: * elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all entries. (elf_arc_relocate_section): Update enum uses. (elf_arc_check_relocs): Likewise. (elf_arc_finish_dynamic_symbol): Likewise.
This commit is contained in:
@ -1,3 +1,11 @@
|
|||||||
|
2016-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||||
|
|
||||||
|
* elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all
|
||||||
|
entries.
|
||||||
|
(elf_arc_relocate_section): Update enum uses.
|
||||||
|
(elf_arc_check_relocs): Likewise.
|
||||||
|
(elf_arc_finish_dynamic_symbol): Likewise.
|
||||||
|
|
||||||
2016-04-14 H.J. Lu <hongjiu.lu@intel.com>
|
2016-04-14 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
* elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with
|
* elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with
|
||||||
|
@ -127,10 +127,10 @@ enum tls_type_e
|
|||||||
|
|
||||||
enum tls_got_entries
|
enum tls_got_entries
|
||||||
{
|
{
|
||||||
NONE = 0,
|
TLS_GOT_NONE = 0,
|
||||||
MOD,
|
TLS_GOT_MOD,
|
||||||
OFF,
|
TLS_GOT_OFF,
|
||||||
MOD_AND_OFF
|
TLS_GOT_MOD_AND_OFF
|
||||||
};
|
};
|
||||||
|
|
||||||
struct got_entry
|
struct got_entry
|
||||||
@ -1401,7 +1401,7 @@ elf_arc_relocate_section (bfd * output_bfd,
|
|||||||
bfd_put_32 (output_bfd,
|
bfd_put_32 (output_bfd,
|
||||||
sym_value - sec_vma,
|
sym_value - sec_vma,
|
||||||
htab->sgot->contents + entry->offset
|
htab->sgot->contents + entry->offset
|
||||||
+ (entry->existing_entries == MOD_AND_OFF ? 4 : 0));
|
+ (entry->existing_entries == TLS_GOT_MOD_AND_OFF ? 4 : 0));
|
||||||
|
|
||||||
ARC_DEBUG ("arc_info: FIXED -> %s value = 0x%x "
|
ARC_DEBUG ("arc_info: FIXED -> %s value = 0x%x "
|
||||||
"@ 0x%x, for symbol %s\n",
|
"@ 0x%x, for symbol %s\n",
|
||||||
@ -1409,7 +1409,7 @@ elf_arc_relocate_section (bfd * output_bfd,
|
|||||||
"GOT_TLS_IE"),
|
"GOT_TLS_IE"),
|
||||||
sym_value - sec_vma,
|
sym_value - sec_vma,
|
||||||
htab->sgot->contents + entry->offset
|
htab->sgot->contents + entry->offset
|
||||||
+ (entry->existing_entries == MOD_AND_OFF ? 4 : 0),
|
+ (entry->existing_entries == TLS_GOT_MOD_AND_OFF ? 4 : 0),
|
||||||
h->root.root.string);
|
h->root.root.string);
|
||||||
|
|
||||||
entry->processed = TRUE;
|
entry->processed = TRUE;
|
||||||
@ -1806,7 +1806,7 @@ elf_arc_check_relocs (bfd * abfd,
|
|||||||
bfd_link_pic (info),
|
bfd_link_pic (info),
|
||||||
NULL);
|
NULL);
|
||||||
new_got_entry_to_list (&(local_got_ents[r_symndx]),
|
new_got_entry_to_list (&(local_got_ents[r_symndx]),
|
||||||
GOT_NORMAL, offset, NONE);
|
GOT_NORMAL, offset, TLS_GOT_NONE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1818,7 +1818,7 @@ elf_arc_check_relocs (bfd * abfd,
|
|||||||
bfd_vma offset =
|
bfd_vma offset =
|
||||||
ADD_SYMBOL_REF_SEC_AND_RELOC (got, TRUE, h);
|
ADD_SYMBOL_REF_SEC_AND_RELOC (got, TRUE, h);
|
||||||
new_got_entry_to_list (&h->got.glist,
|
new_got_entry_to_list (&h->got.glist,
|
||||||
GOT_NORMAL, offset, NONE);
|
GOT_NORMAL, offset, TLS_GOT_NONE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1847,7 +1847,7 @@ elf_arc_check_relocs (bfd * abfd,
|
|||||||
|
|
||||||
if (type != GOT_UNKNOWN && !symbol_has_entry_of_type (*list, type))
|
if (type != GOT_UNKNOWN && !symbol_has_entry_of_type (*list, type))
|
||||||
{
|
{
|
||||||
enum tls_got_entries entries = NONE;
|
enum tls_got_entries entries = TLS_GOT_NONE;
|
||||||
bfd_vma offset =
|
bfd_vma offset =
|
||||||
ADD_SYMBOL_REF_SEC_AND_RELOC (got, TRUE, h);
|
ADD_SYMBOL_REF_SEC_AND_RELOC (got, TRUE, h);
|
||||||
|
|
||||||
@ -1855,11 +1855,11 @@ elf_arc_check_relocs (bfd * abfd,
|
|||||||
{
|
{
|
||||||
bfd_vma ATTRIBUTE_UNUSED notneeded =
|
bfd_vma ATTRIBUTE_UNUSED notneeded =
|
||||||
ADD_SYMBOL_REF_SEC_AND_RELOC (got, TRUE, h);
|
ADD_SYMBOL_REF_SEC_AND_RELOC (got, TRUE, h);
|
||||||
entries = MOD_AND_OFF;
|
entries = TLS_GOT_MOD_AND_OFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (entries == NONE)
|
if (entries == TLS_GOT_NONE)
|
||||||
entries = OFF;
|
entries = TLS_GOT_OFF;
|
||||||
|
|
||||||
new_got_entry_to_list (list, type, offset, entries);
|
new_got_entry_to_list (list, type, offset, entries);
|
||||||
}
|
}
|
||||||
@ -2256,16 +2256,16 @@ elf_arc_finish_dynamic_symbol (bfd * output_bfd,
|
|||||||
}
|
}
|
||||||
list->created_dyn_relocation = TRUE;
|
list->created_dyn_relocation = TRUE;
|
||||||
}
|
}
|
||||||
else if (list->existing_entries != NONE)
|
else if (list->existing_entries != TLS_GOT_NONE)
|
||||||
{
|
{
|
||||||
struct elf_link_hash_table *htab = elf_hash_table (info);
|
struct elf_link_hash_table *htab = elf_hash_table (info);
|
||||||
enum tls_got_entries e = list->existing_entries;
|
enum tls_got_entries e = list->existing_entries;
|
||||||
|
|
||||||
BFD_ASSERT (list->type != GOT_TLS_GD
|
BFD_ASSERT (list->type != GOT_TLS_GD
|
||||||
|| list->existing_entries == MOD_AND_OFF);
|
|| list->existing_entries == TLS_GOT_MOD_AND_OFF);
|
||||||
|
|
||||||
bfd_vma dynindx = h->dynindx == -1 ? 0 : h->dynindx;
|
bfd_vma dynindx = h->dynindx == -1 ? 0 : h->dynindx;
|
||||||
if (e == MOD_AND_OFF || e == MOD)
|
if (e == TLS_GOT_MOD_AND_OFF || e == TLS_GOT_MOD)
|
||||||
{
|
{
|
||||||
ADD_RELA (output_bfd, got, got_offset, dynindx,
|
ADD_RELA (output_bfd, got, got_offset, dynindx,
|
||||||
R_ARC_TLS_DTPMOD, 0);
|
R_ARC_TLS_DTPMOD, 0);
|
||||||
@ -2277,7 +2277,7 @@ GOT_OFFSET = 0x%x, GOT_VMA = 0x%x, INDEX = %d, ADDEND = 0x%x\n",
|
|||||||
+ htab->sgot->output_offset + got_offset,
|
+ htab->sgot->output_offset + got_offset,
|
||||||
dynindx, 0);
|
dynindx, 0);
|
||||||
}
|
}
|
||||||
if (e == MOD_AND_OFF || e == OFF)
|
if (e == TLS_GOT_MOD_AND_OFF || e == TLS_GOT_OFF)
|
||||||
{
|
{
|
||||||
bfd_vma addend = 0;
|
bfd_vma addend = 0;
|
||||||
if (list->type == GOT_TLS_IE)
|
if (list->type == GOT_TLS_IE)
|
||||||
@ -2285,7 +2285,7 @@ GOT_OFFSET = 0x%x, GOT_VMA = 0x%x, INDEX = %d, ADDEND = 0x%x\n",
|
|||||||
htab->sgot->contents + got_offset);
|
htab->sgot->contents + got_offset);
|
||||||
|
|
||||||
ADD_RELA (output_bfd, got,
|
ADD_RELA (output_bfd, got,
|
||||||
got_offset + (e == MOD_AND_OFF ? 4 : 0),
|
got_offset + (e == TLS_GOT_MOD_AND_OFF ? 4 : 0),
|
||||||
dynindx,
|
dynindx,
|
||||||
(list->type == GOT_TLS_IE ?
|
(list->type == GOT_TLS_IE ?
|
||||||
R_ARC_TLS_TPOFF : R_ARC_TLS_DTPOFF),
|
R_ARC_TLS_TPOFF : R_ARC_TLS_DTPOFF),
|
||||||
|
Reference in New Issue
Block a user