s12z genelf.em

Message ID 20190529153204.GZ6820@bubble.grove.modra.org
State New
Headers show
Series
  • s12z genelf.em
Related show

Commit Message

Alan Modra May 29, 2019, 3:32 p.m.
This changes s12z to use generic.em and genelf.em, which is more
suited to targets that use the generic linker hash table.  A tweak or
two to some testsuite predicates then gives a clean testsuite result
on the target.

	PR 24596
binutils/
	* testsuite/lib/binutils-common.exp (supports_gnu_unique): Add
	s12z to targets not supporting this feature.
ld/
	* emulparams/m9s12zelf.sh (TEMPLATE_NAME): Set to generic.
	(EXTRA_EM_FILE): Define to genelf.
	* testsuite/lib/ld-lib.exp (uses_genelf): Add s12z.


-- 
Alan Modra
Australia Development Lab, IBM

Patch

diff --git a/binutils/testsuite/lib/binutils-common.exp b/binutils/testsuite/lib/binutils-common.exp
index 9511d28c6f..a523f4b781 100644
--- a/binutils/testsuite/lib/binutils-common.exp
+++ b/binutils/testsuite/lib/binutils-common.exp
@@ -183,9 +183,9 @@  proc match_target { target } {
 # and Visium targets set OSABI to ELFOSABI_STANDALONE and cannot
 # support STB_GNU_UNIQUE.  Likewise non-EABI ARM targets set OSABI to
 # ELFOSABI_ARM, and TI C6X targets to ELFOSABI_C6000_*.  Finally
-# rather than `bfd_elf_final_link' AM33/2.0, D30V, DLX, and
-# picoJava targets use `_bfd_generic_final_link', which does not
-# support STB_GNU_UNIQUE symbol binding causing assertion failures.
+# rather than `bfd_elf_final_link' a number of targets use
+# `_bfd_generic_final_link', which does not support STB_GNU_UNIQUE
+# symbol binding causing assertion failures.
 #
 proc supports_gnu_unique {} {
     if { [istarget *-*-gnu*]
@@ -212,6 +212,7 @@  proc supports_gnu_unique {} {
 	 || [istarget "d30v-*-*"]
 	 || [istarget "dlx-*-*"]
 	 || [istarget "pj*-*-*"]
+	 || [istarget "s12z-*-*"]
 	 || [istarget "xgate-*-*"] } {
 	return 0
     }
diff --git a/ld/emulparams/m9s12zelf.sh b/ld/emulparams/m9s12zelf.sh
index 7a819e8409..758c8e936b 100644
--- a/ld/emulparams/m9s12zelf.sh
+++ b/ld/emulparams/m9s12zelf.sh
@@ -13,6 +13,7 @@  EEPROM_MEMORY=eeprom
 ARCH=s12z
 EMBEDDED=yes
 GENERIC_BOARD=no
-TEMPLATE_NAME=elf32
+TEMPLATE_NAME=generic
+EXTRA_EM_FILE=genelf
 NOP=0x00
 
diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp
index f4d6707de9..2504936082 100644
--- a/ld/testsuite/lib/ld-lib.exp
+++ b/ld/testsuite/lib/ld-lib.exp
@@ -1113,6 +1113,7 @@  proc uses_genelf { } {
 	 || [istarget "msp430-*-*"]
 	 || [istarget "mt-*-*"]
 	 || [istarget "pj*-*-*"]
+	 || [istarget "s12z-*-*"]
 	 || [istarget "xgate-*-*"] } {
 	return 1
     }