mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-11-16 12:34:43 +00:00
cris: bfd: Default selected target to the configured target
Whether targ_defvec is set to the best match for the configured target or some of the other supported targets usually doesn't matter, as the actual target being used, usually is set by some other mechanism, like an input object file. In some situations it matters though: it might be confusing to see --help output not showing the configured target first in the list of supported targets. Also, some corner cases risk running into bugs like PR33485, for cris-elf and cris-linux because cris_aout_vec is the default target where instead the bug-free behavior of cris_elf32_us_vec or cris_elf32_vec would be expected. The test just verifies that the target list emitted for the --help option has the expected target first. bfd: * config.bfd <cris-*-* | crisv32-*-*>: Split into <cris-*-*aout*>, <cris-*-linux-* | crisv32-*-linux-*>, <cris-*-* | crisv32-*-*> cases respectively setting targ_defvec per the target instead of always cris_aout_vec. binutils: * testsuite/binutils-all/cris: New directory intended for tests focused on behavior of the binutils programs, not the assembler or linker. * testsuite/binutils-all/cris/cris.exp: New file with run_dump_test loop. testsuite/binutils-all/cris/tgt-a.d, testsuite/binutils-all/cris/tgt-e.d, testsuite/binutils-all/cris/tgt-l.d: New tests. Co-authored-by: Maciej W. Rozycki <macro@redhat.com>
This commit is contained in:
committed by
Hans-Peter Nilsson
parent
2f280ee0b1
commit
c1a7d03958
@@ -455,13 +455,23 @@ case "${targ}" in
|
||||
targ_underscore=yes
|
||||
;;
|
||||
|
||||
cris-*-* | crisv32-*-*)
|
||||
cris-*-*aout*)
|
||||
targ_defvec=cris_aout_vec
|
||||
targ_selvecs="cris_elf32_us_vec cris_elf32_vec"
|
||||
case "${targ}" in
|
||||
*-*-linux*) ;;
|
||||
*) targ_underscore=yes ;;
|
||||
esac
|
||||
targ_underscore=yes
|
||||
want64=true
|
||||
;;
|
||||
|
||||
cris-*-linux-* | crisv32-*-linux-*)
|
||||
targ_defvec=cris_elf32_vec
|
||||
targ_selvecs="cris_elf32_us_vec cris_aout_vec"
|
||||
want64=true
|
||||
;;
|
||||
|
||||
cris-*-* | crisv32-*-*)
|
||||
targ_defvec=cris_elf32_us_vec
|
||||
targ_selvecs="cris_aout_vec cris_elf32_vec"
|
||||
targ_underscore=yes
|
||||
want64=true
|
||||
;;
|
||||
|
||||
|
||||
26
binutils/testsuite/binutils-all/cris/cris.exp
Normal file
26
binutils/testsuite/binutils-all/cris/cris.exp
Normal file
@@ -0,0 +1,26 @@
|
||||
# Copyright (C) 2025 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
if {![istarget "cris-*-*"] && ![istarget "crisv32-*-*"]} {
|
||||
return
|
||||
}
|
||||
|
||||
set test_list [lsort [glob -nocomplain $srcdir/$subdir/*.d]]
|
||||
foreach t $test_list {
|
||||
# We need to strip the ".d", but can leave the dirname.
|
||||
verbose [file rootname $t]
|
||||
run_dump_test [file rootname $t]
|
||||
}
|
||||
1
binutils/testsuite/binutils-all/cris/nop.s
Normal file
1
binutils/testsuite/binutils-all/cris/nop.s
Normal file
@@ -0,0 +1 @@
|
||||
nop
|
||||
6
binutils/testsuite/binutils-all/cris/tgt-a.d
Normal file
6
binutils/testsuite/binutils-all/cris/tgt-a.d
Normal file
@@ -0,0 +1,6 @@
|
||||
#source: nop.s
|
||||
#objdump: --help
|
||||
#xfail: cris*-linux* cris*-elf*
|
||||
#...
|
||||
.*objdump: supported targets: a.out-cris .*
|
||||
#pass
|
||||
6
binutils/testsuite/binutils-all/cris/tgt-e.d
Normal file
6
binutils/testsuite/binutils-all/cris/tgt-e.d
Normal file
@@ -0,0 +1,6 @@
|
||||
#source: nop.s
|
||||
#objdump: --help
|
||||
#xfail: cris*-aout cris*-linux*
|
||||
#...
|
||||
.*objdump: supported targets: elf32-us-cris .*
|
||||
#pass
|
||||
6
binutils/testsuite/binutils-all/cris/tgt-l.d
Normal file
6
binutils/testsuite/binutils-all/cris/tgt-l.d
Normal file
@@ -0,0 +1,6 @@
|
||||
#source: nop.s
|
||||
#objdump: --help
|
||||
#xfail: cris*-aout cris*-elf*
|
||||
#...
|
||||
.*objdump: supported targets: elf32-cris .*
|
||||
#pass
|
||||
Reference in New Issue
Block a user