From 4a85cc09258dfe2ab3cefb503221696a0f439c63 Mon Sep 17 00:00:00 2001 From: Senthil Kumar Selvaraj Date: Wed, 4 May 2016 13:03:52 +0100 Subject: [PATCH] Fix some AVR test failures. binutils* testsuite/lib/binutils-common.exp (is_elf_format): Add avr-*-*. ld * testsuite/ld-elf/pr18735.d: Allow other symbols. * testsuite/ld-elf/sec64k.exp: Skip 64ksec for avr. * testsuite/ld-gc/pr14265.d: Allow other symbols. * testsuite/ld-plugin/plugin.exp: Add PR ld/17973 to plugin_tests only if check_shared_lib_support is true. * testsuite/ld-selective/selective.exp: Add --section-start flag for avr. --- binutils/ChangeLog | 4 ++ binutils/testsuite/lib/binutils-common.exp | 44 +++++++++++----------- ld/ChangeLog | 10 +++++ ld/testsuite/ld-elf/pr18735.d | 2 + ld/testsuite/ld-elf/sec64k.exp | 8 ++-- ld/testsuite/ld-gc/pr14265.d | 2 + ld/testsuite/ld-plugin/plugin.exp | 10 +++-- ld/testsuite/ld-selective/selective.exp | 6 +++ 8 files changed, 55 insertions(+), 31 deletions(-) diff --git a/binutils/ChangeLog b/binutils/ChangeLog index d2f6e95693f..12e8bb2dac4 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,7 @@ +2016-05-04 Senthil Kumar Selvaraj + + * testsuite/lib/binutils-common.exp (is_elf_format): Add avr-*-*. + 2016-05-03 Nick Clifton * po/sv.po: Updated Swedish translation. diff --git a/binutils/testsuite/lib/binutils-common.exp b/binutils/testsuite/lib/binutils-common.exp index dbbbc792243..5f170127bb9 100644 --- a/binutils/testsuite/lib/binutils-common.exp +++ b/binutils/testsuite/lib/binutils-common.exp @@ -27,44 +27,42 @@ proc is_elf_format {} { return 1; } - if { ![istarget *-*-sysv4*] - && ![istarget *-*-unixware*] + if { ![istarget *-*-eabi*] && ![istarget *-*-elf*] - && ![istarget *-*-eabi*] - && ![istarget *-*-rtems*] - && ![istarget hppa*64*-*-hpux*] - && ![istarget ia64-*-hpux*] - && ![istarget *-*-linux*] + && ![istarget *-*-freebsd*] && ![istarget *-*-gnu*] - && ![istarget *-*-nacl*] - && ![istarget frv-*-uclinux*] - && ![istarget bfin-*-uclinux] - && ![istarget sh*-*-uclinux*] - && ![istarget tic6x*-*-uclinux*] && ![istarget *-*-irix5*] && ![istarget *-*-irix6*] - && ![istarget *-*-freebsd*] + && ![istarget *-*-linux*] + && ![istarget *-*-nacl*] && ![istarget *-*-netbsd*] && ![istarget *-*-openbsd*] - && ![istarget *-*-solaris2*] } { + && ![istarget *-*-rtems*] + && ![istarget *-*-solaris2*] + && ![istarget *-*-sysv4*] + && ![istarget *-*-unixware*] + && ![istarget avr-*-*] + && ![istarget bfin-*-uclinux] + && ![istarget frv-*-uclinux*] + && ![istarget hppa*64*-*-hpux*] + && ![istarget ia64-*-hpux*] + && ![istarget sh*-*-uclinux*] + && ![istarget tic6x*-*-uclinux*] } { return 0 } - if { [istarget i?86-*-freebsd\[12\].*] } { - return 0 - } - - if { [istarget *-*-linux*aout*] + if { [istarget *-*-linux*aout*] || [istarget *-*-linux*ecoff*] || [istarget *-*-linux*oldld*] + || [istarget *-*-rtemscoff*] || [istarget h8500-*-rtems*] - || [istarget i960-*-rtems*] - || [istarget *-*-rtemscoff*] } { + || [istarget i?86-*-freebsd\[12\].*] + || [istarget i960-*-rtems*] } { return 0 } if { ![istarget *-*-netbsdelf*] - && ([istarget *-*-netbsd*aout*] + && ( [istarget *-*-netbsd*aout*] || [istarget *-*-netbsdpe*] || [istarget arm*-*-netbsd*] || [istarget sparc-*-netbsd*] @@ -75,7 +73,7 @@ proc is_elf_format {} { return 0 } - if { [istarget arm-*-openbsd*] + if { [istarget arm-*-openbsd*] || [istarget i386-*-openbsd\[0-2\].*] || [istarget i386-*-openbsd3.\[0-2\]] || [istarget m68*-*-openbsd*] diff --git a/ld/ChangeLog b/ld/ChangeLog index 092d2e84671..8549baab7bb 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,13 @@ +2016-05-04 Senthil Kumar Selvaraj + + * testsuite/ld-elf/pr18735.d: Allow other symbols. + * testsuite/ld-elf/sec64k.exp: Skip 64ksec for avr. + * testsuite/ld-gc/pr14265.d: Allow other symbols. + * testsuite/ld-plugin/plugin.exp: Add PR ld/17973 to + plugin_tests only if check_shared_lib_support is true. + * testsuite/ld-selective/selective.exp: Add --section-start + flag for avr. + 2016-05-03 Maciej W. Rozycki PR 10549 diff --git a/ld/testsuite/ld-elf/pr18735.d b/ld/testsuite/ld-elf/pr18735.d index bc19a827b6c..5f64818dd9f 100644 --- a/ld/testsuite/ld-elf/pr18735.d +++ b/ld/testsuite/ld-elf/pr18735.d @@ -6,6 +6,8 @@ Symbol table '.symtab' contains .* entries: [ ]*[0-9]+: [0-9a-fA-F]* +1 +OBJECT +GLOBAL +DEFAULT +[0-9]+ +foo@FOO #... [ ]*[0-9]+: [0-9a-fA-F]* +1 +OBJECT +GLOBAL +DEFAULT +[0-9]+ +bar@@FOO +#... [ ]*[0-9]+: [0-9a-fA-F]* +1 +OBJECT +GLOBAL +DEFAULT +[0-9]+ +foo +#... [ ]*[0-9]+: [0-9a-fA-F]* +1 +OBJECT +GLOBAL +DEFAULT +[0-9]+ +bar #pass diff --git a/ld/testsuite/ld-elf/sec64k.exp b/ld/testsuite/ld-elf/sec64k.exp index f168cff1584..b0e49ea8216 100644 --- a/ld/testsuite/ld-elf/sec64k.exp +++ b/ld/testsuite/ld-elf/sec64k.exp @@ -166,17 +166,15 @@ if [catch { set ofd [open "tmpdir/$test2.d" w] } x] { return } -# too big for d10v and msp +# too big for avr, d10v and msp # lack of fancy orphan section handling causes overlap on fr30 and iq2000 if { ![istarget "d10v-*-*"] + && ![istarget "avr-*-*"] && ![istarget "msp*-*-*"] && ![istarget "fr30-*-*"] && ![istarget "iq2000-*-*"] } { foreach sfile $sfiles { puts $ofd "#source: $sfile" } - if { [istarget "avr-*-*"] } then { - puts $ofd "#as: -mmcu=avr6" - puts $ofd "#ld: -mavr6" - } elseif { [istarget spu*-*-*] } { + if { [istarget spu*-*-*] } { puts $ofd "#ld: --local-store 0:0" } else { puts $ofd "#ld:" diff --git a/ld/testsuite/ld-gc/pr14265.d b/ld/testsuite/ld-gc/pr14265.d index f78297b12af..9e77ef3a251 100644 --- a/ld/testsuite/ld-gc/pr14265.d +++ b/ld/testsuite/ld-gc/pr14265.d @@ -5,7 +5,9 @@ #... [0-9a-f]+[ ][dD][ ]_*foo1_start +#... [0-9a-f]+[ ]D[ ]_*foo1 +#... [0-9a-f]+[ ][dD][ ]_*foo1_end [0-9a-f]+[ ][dD][ ]_*foo2_start [0-9a-f]+[ ]D[ ]_*foo2 diff --git a/ld/testsuite/ld-plugin/plugin.exp b/ld/testsuite/ld-plugin/plugin.exp index a8b0e4a245c..5be56618b0d 100644 --- a/ld/testsuite/ld-plugin/plugin.exp +++ b/ld/testsuite/ld-plugin/plugin.exp @@ -183,11 +183,15 @@ set plugin_tests [list \ $testobjfiles $libs" "" "" "" {{ld plugin-28.d}} "main.x" ] \ [list "plugin warning" "-plugin $plugin2_path -plugin-opt warning \ $testobjfiles $libs" "" "" "" {{ld plugin-29.d}} "main.x" ] \ - [list "PR ld/17973" "-plugin $plugin2_path -shared $regassilent \ - -plugin-opt add:tmpdir/pr17973.o \ - tmpdir/dummy.o" "" "" "" {{readelf -sW pr17973.d}} "main.x" ] \ ] +if [check_shared_lib_support] { + lappend plugin_tests [list "PR ld/17973" "-plugin $plugin2_path -shared $regassilent \ + -plugin-opt add:tmpdir/pr17973.o \ + tmpdir/dummy.o" "" "" "" {{readelf -sW pr17973.d}} "main.x" ] +} + + set plugin_lib_tests [list \ [list "plugin ignore lib" "-plugin $plugin_path $regclm \ $regas $regcln -plugin-opt claim:tmpdir/func.o \ diff --git a/ld/testsuite/ld-selective/selective.exp b/ld/testsuite/ld-selective/selective.exp index 0531339e76e..367b878916b 100644 --- a/ld/testsuite/ld-selective/selective.exp +++ b/ld/testsuite/ld-selective/selective.exp @@ -64,6 +64,12 @@ if [istarget sh64*-*-elf] { set ldflags "-e _start -mshelf32 $ldflags" } +if [istarget avr-*-*] { + # Make .text start at a non-zero address, as some tests expect + # valid symbols to have non-zero values. + set ldflags "--section-start=.text=0x2 $ldflags" +} + # If we don't have g++ for the target, mark all tests as untested. if { ![is_remote host] && [which $CXX] == 0 } { foreach testitem $seltests { -- 2.30.2