From b3066ae8259d3adb4e00ee8145c55df16c3d7261 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Sun, 17 Jan 2016 12:13:43 +1030 Subject: [PATCH] m68hc11/12 and xgate config.sub weirdness Oddly, config.sub converts a duple ending in -elf for these target to -unknown-none, which means they aren't seen as elf targets by binutils. So, counter that. This exposes a number of testsuite issues (ones you would have seen if configuring with a full triple, say m68hc11-unknown-elf). binutils/ * testsuite/lib/binutils-common.exp (is_elf_format): Return true for m68hc11/12 and xgate triples. gas/ * testsuite/gas/cfi/cfi.exp: Exclude m68hc11/12 from m68k test. ld/ * testsuite/lib/ld-lib.exp (check_shared_lib_support): Exclude xgate. * testsuite/ld-elf/endsym.d: xfail m68hc11/12 and xgate. * testsuite/ld-elf/pr14156a.d: Likewise. * testsuite/ld-elf/pr14926.d: Don't run for m68hc11/12 and xgate. * testsuite/ld-elf/sec64k.exp: Likewise. --- binutils/ChangeLog | 5 +++++ binutils/testsuite/lib/binutils-common.exp | 7 +++++++ gas/ChangeLog | 4 ++++ gas/testsuite/gas/cfi/cfi.exp | 2 +- ld/ChangeLog | 8 ++++++++ ld/testsuite/ld-elf/endsym.d | 1 + ld/testsuite/ld-elf/pr14156a.d | 1 + ld/testsuite/ld-elf/pr14926.d | 2 +- ld/testsuite/ld-elf/sec64k.exp | 5 +++++ ld/testsuite/lib/ld-lib.exp | 1 + 10 files changed, 34 insertions(+), 2 deletions(-) diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 140a98538b..212ea48c5d 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,8 @@ +2016-01-17 Alan Modra + + * testsuite/lib/binutils-common.exp (is_elf_format): Return true + for m68hc11/12 and xgate triples. + 2016-01-17 Alan Modra * readelf.c (is_32bit_abs_reloc): Add R_M68HC11_32. diff --git a/binutils/testsuite/lib/binutils-common.exp b/binutils/testsuite/lib/binutils-common.exp index 64b66a478b..dbbbc79224 100644 --- a/binutils/testsuite/lib/binutils-common.exp +++ b/binutils/testsuite/lib/binutils-common.exp @@ -20,6 +20,13 @@ # True if the object format is known to be ELF. # proc is_elf_format {} { + # config.sub for these targets curiously transforms a target doublet + # ending in -elf to -none. eg. m68hc12-elf to m68hc12-unknown-none + # They are always elf. + if { [istarget m68hc1*-*] || [istarget xgate-*] } { + return 1; + } + if { ![istarget *-*-sysv4*] && ![istarget *-*-unixware*] && ![istarget *-*-elf*] diff --git a/gas/ChangeLog b/gas/ChangeLog index 59e31a7dc9..424c790aa9 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,7 @@ +2016-01-17 Alan Modra + + * testsuite/gas/cfi/cfi.exp: Exclude m68hc11/12 from m68k test. + 2016-01-14 Nick Clifton * testsuite/gas/rl78/sp-relative-movw.s: New test. diff --git a/gas/testsuite/gas/cfi/cfi.exp b/gas/testsuite/gas/cfi/cfi.exp index 7cda4d2b4c..379e6f4f3b 100644 --- a/gas/testsuite/gas/cfi/cfi.exp +++ b/gas/testsuite/gas/cfi/cfi.exp @@ -73,7 +73,7 @@ if { [istarget "i*86-*-*"] || [istarget "x86_64-*-*"] } then { run_dump_test "cfi-s390x-1" } -} elseif { [istarget "m68*-*"] } then { +} elseif { [istarget "m68*-*"] && ![istarget "m68hc1*-*"] } then { run_dump_test "cfi-m68k" } elseif { [istarget sparc*-*-*] } then { diff --git a/ld/ChangeLog b/ld/ChangeLog index 09e11f5251..15967935e3 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,11 @@ +2016-01-17 Alan Modra + + * testsuite/lib/ld-lib.exp (check_shared_lib_support): Exclude xgate. + * testsuite/ld-elf/endsym.d: xfail m68hc11/12 and xgate. + * testsuite/ld-elf/pr14156a.d: Likewise. + * testsuite/ld-elf/pr14926.d: Don't run for m68hc11/12 and xgate. + * testsuite/ld-elf/sec64k.exp: Likewise. + 2016-01-14 Thomas Preud'homme * testsuite/ld-arm/arm-elf.exp (Thumb-Thumb farcall v6-M (no profile)): diff --git a/ld/testsuite/ld-elf/endsym.d b/ld/testsuite/ld-elf/endsym.d index 912d3dee9d..483cc83035 100644 --- a/ld/testsuite/ld-elf/endsym.d +++ b/ld/testsuite/ld-elf/endsym.d @@ -3,6 +3,7 @@ #ld: --sort-common #nm: -n #notarget: hppa*-*-hpux* +#xfail: m68hc1*-* xgate-* #... .* end diff --git a/ld/testsuite/ld-elf/pr14156a.d b/ld/testsuite/ld-elf/pr14156a.d index 64768575f2..efdc8461fb 100644 --- a/ld/testsuite/ld-elf/pr14156a.d +++ b/ld/testsuite/ld-elf/pr14156a.d @@ -5,6 +5,7 @@ #source: initn.s #ld: --sort-section=alignment #nm: -n +#xfail: m68hc1*-* xgate-* #... [0-9a-f]+ T foo diff --git a/ld/testsuite/ld-elf/pr14926.d b/ld/testsuite/ld-elf/pr14926.d index 4f7fef4e76..88c521ce87 100644 --- a/ld/testsuite/ld-elf/pr14926.d +++ b/ld/testsuite/ld-elf/pr14926.d @@ -1,6 +1,6 @@ #ld: -Ttext=0x60 #readelf: -S --wide -#notarget: d10v-*-* msp*-*-* visium-*-* xstormy*-*-* +#notarget: d10v-* m68hc1*-* msp*-* visium-* xgate-* xstormy*-* # the above targets use memory regions that don't allow 0x60 for .text #... diff --git a/ld/testsuite/ld-elf/sec64k.exp b/ld/testsuite/ld-elf/sec64k.exp index f3cf287003..7d079ce8fa 100644 --- a/ld/testsuite/ld-elf/sec64k.exp +++ b/ld/testsuite/ld-elf/sec64k.exp @@ -40,6 +40,11 @@ if { [istarget "arc-*-*"] return } +# m68hc11, m68hc12 and xgate run out of address space. +if { [istarget "m68hc1*-*"] || [istarget "xgate-*"] } { + return +} + # Test >64k sections, with and without -r. First, create the assembly # files. Have a relocation to another section and one within the local # section. diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp index e56b11eb8b..f4283a5c6d 100644 --- a/ld/testsuite/lib/ld-lib.exp +++ b/ld/testsuite/lib/ld-lib.exp @@ -1745,6 +1745,7 @@ proc check_shared_lib_support { } { && ![istarget spu-*-*] && ![istarget v850*-*-*] && ![istarget visium-*-*] + && ![istarget xgate-*-*] && ![istarget xstormy16-*-*] && ![istarget *-*-irix*] && ![istarget *-*-rtems] } { -- 2.34.1