x86: Remove target_id from elf_x86_link_hash_table

Since target_id in elf_x86_link_hash_table is the same as hash_table_id
in elf_link_hash_table, we can use elf.hash_table_id instead of target_id.

	* elfxx-x86.h (elf_x86_link_hash_table): Remove target_id.
	(is_x86_elf): Check elf.hash_table_id instead of target_id.
	* elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Updated.
This commit is contained in:
H.J. Lu 2020-06-04 09:56:25 -07:00
parent 1c07a73f66
commit add5f777de
3 changed files with 7 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2020-06-04 H.J. Lu <hongjiu.lu@intel.com>
* elfxx-x86.h (elf_x86_link_hash_table): Remove target_id.
(is_x86_elf): Check elf.hash_table_id instead of target_id.
* elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Updated.
2020-06-04 H.J. Lu <hongjiu.lu@intel.com>
PR ld/26080

View File

@ -762,7 +762,6 @@ _bfd_x86_elf_link_hash_table_create (bfd *abfd)
ret->tls_get_addr = "___tls_get_addr";
}
}
ret->target_id = bed->target_id;
ret->target_os = get_elf_x86_backend_data (abfd)->target_os;
ret->loc_hash_table = htab_try_create (1024,

View File

@ -531,7 +531,6 @@ struct elf_x86_link_hash_table
bfd_vma (*r_info) (bfd_vma, bfd_vma);
bfd_vma (*r_sym) (bfd_vma);
bfd_boolean (*is_reloc_section) (const char *);
enum elf_target_id target_id;
enum elf_x86_target_os target_os;
unsigned int sizeof_reloc;
unsigned int dt_reloc;
@ -629,7 +628,7 @@ struct elf_x86_plt
#define is_x86_elf(bfd, htab) \
(bfd_get_flavour (bfd) == bfd_target_elf_flavour \
&& elf_tdata (bfd) != NULL \
&& elf_object_id (bfd) == (htab)->target_id)
&& elf_object_id (bfd) == (htab)->elf.hash_table_id)
extern bfd_boolean _bfd_x86_elf_mkobject
(bfd *);