# Expect script for various KVX ELF tests. # Copyright (C) 2009-2024 Free Software Foundation, Inc. # Contributed by Kalray Inc. # # This file is part of the GNU Binutils. # # 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; see the file COPYING3. If not, # see . # # Exclude non-kvx-ELF targets. if { ![istarget "kvx-*-*"] } { return } # List contains test-items with 3 items followed by 2 lists: # 0:name 1:ld early options 2:ld late options 3:assembler options # 4:filenames of assembler files 5: action and options. 6: name of output file # Actions: # objdump: Apply objdump options on result. Compare with regex (last arg). # nm: Apply nm options on result. Compare with regex (last arg). # readelf: Apply readelf options on result. Compare with regex (last arg). # 64bits tests run_dump_test "limit-call" run_dump_test "limit-goto" run_dump_test "farcall-back" run_dump_test "farcall-goto-defsym" run_dump_test "farcall-call-defsym" run_dump_test "farcall-goto-gsym" run_dump_test "farcall-goto-plt" run_dump_test "farcall-call-plt" run_dump_test "farcall-call" run_dump_test "farcall-goto" run_dump_test "farcall-goto-none-function" run_dump_test "farcall-call-none-function" run_dump_test "farcall-goto-section" run_dump_test "farcall-call-section" run_dump_test "pcrel-reloc" ## 32bits tests if { ![istarget "kvx*-linux-*"] } { set extra_32bits [list [list as -m32] [list ld -melf32kvx]] run_dump_test "limit-call" $extra_32bits run_dump_test "limit-goto" $extra_32bits run_dump_test "farcall-back" $extra_32bits run_dump_test "farcall-goto-defsym" $extra_32bits run_dump_test "farcall-call-defsym" $extra_32bits run_dump_test "farcall-goto-gsym" $extra_32bits run_dump_test "farcall-goto-plt" $extra_32bits run_dump_test "farcall-call-plt" $extra_32bits run_dump_test "farcall-call" $extra_32bits run_dump_test "farcall-goto" $extra_32bits run_dump_test "farcall-goto-none-function" $extra_32bits run_dump_test "farcall-call-none-function" $extra_32bits run_dump_test "farcall-goto-section" $extra_32bits run_dump_test "farcall-call-section" $extra_32bits run_dump_test "pcrel-reloc" [list [list as -m32] [list ld -melf32kvx] [list dump pcrel-reloc-32bits.d]] }