From 5b86dbf4549af98c4428da4764182e03f22c58ab Mon Sep 17 00:00:00 2001
From: "H.J. Lu" <hjl.tools@gmail.com>
Date: Wed, 30 Aug 2017 11:13:32 -0700
Subject: [PATCH] x86: Check target_id instead of elf_machine_code

Since both elf32-i386.c and elf64-x86-64.c support targets with
different ELF_MACHINE_CODEs, _bfd_x86_elf_link_hash_table_create
should check target_id instead of elf_machine_code.

	* elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Check
	target_id instead of elf_machine_code.
---
 bfd/ChangeLog   | 5 +++++
 bfd/elfxx-x86.c | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 095373e6b3d..9c7e2ba9d5b 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2017-08-30  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Check
+	target_id instead of elf_machine_code.
+
 2017-08-30  H.J. Lu  <hongjiu.lu@intel.com>
 
 	* elf32-i386.c (ELF_DYNAMIC_INTERPRETER): Removed.
diff --git a/bfd/elfxx-x86.c b/bfd/elfxx-x86.c
index ccd6e1058ae..d040ee35143 100644
--- a/bfd/elfxx-x86.c
+++ b/bfd/elfxx-x86.c
@@ -278,7 +278,7 @@ _bfd_x86_elf_link_hash_table_create (bfd *abfd)
     {
       ret->r_info = elf32_r_info;
       ret->r_sym = elf32_r_sym;
-      if (bed->elf_machine_code == EM_X86_64)
+      if (bed->target_id == X86_64_ELF_DATA)
 	{
 	  ret->pointer_r_type = R_X86_64_32;
 	  ret->dynamic_interpreter = ELFX32_DYNAMIC_INTERPRETER;