}
}
-if { [istarget "alpha-*-*"] && ![is_elf_format] } then {
- return
+set obj o
+if { [istarget "*-*-vms"] } then {
+ set obj obj
}
# send_user "Version [binutil_version $AR]"
global NM
global srcdir
global subdir
+ global obj
set testname "ar symbol table"
- if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o] {
+ if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.${obj}] {
unresolved $testname
return
}
if [is_remote host] {
set archive artest.a
- set objfile [remote_download host tmpdir/bintest.o]
+ set objfile [remote_download host tmpdir/bintest.${obj}]
remote_file host delete $archive
} else {
set archive tmpdir/artest.a
- set objfile tmpdir/bintest.o
+ set objfile tmpdir/bintest.${obj}
}
remote_file build delete tmpdir/artest.a
}
set got [binutils_run $NM "--print-armap $archive"]
- if { ![string match "*text_symbol in bintest.o*" $got] \
- || ![string match "*data_symbol in bintest.o*" $got] \
- || ![string match "*common_symbol in bintest.o*" $got] \
- || [string match "*static_text_symbol in bintest.o*" $got] \
- || [string match "*static_data_symbol in bintest.o*" $got] \
- || [string match "*external_symbol in bintest.o*" $got] } {
+ if { ![string match "*text_symbol in bintest.${obj}*" $got] \
+ || ![string match "*data_symbol in bintest.${obj}*" $got] \
+ || ![string match "*common_symbol in bintest.${obj}*" $got] \
+ || [string match "*static_text_symbol in bintest.${obj}*" $got] \
+ || [string match "*static_data_symbol in bintest.${obj}*" $got] \
+ || [string match "*external_symbol in bintest.${obj}*" $got] } {
fail $testname
return
}
global srcdir
global subdir
global base_dir
+ global obj
set testname "ar thin archive"
- if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o] {
+ if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.${obj}] {
unresolved $testname
return
}
if [is_remote host] {
set archive artest.a
- set objfile [remote_download host tmpdir/bintest.o]
+ set objfile [remote_download host tmpdir/bintest.${obj}]
remote_file host delete $archive
} else {
set archive tmpdir/artest.a
- set objfile tmpdir/bintest.o
+ set objfile tmpdir/bintest.${obj}
}
remote_file build delete tmpdir/artest.a
}
set got [binutils_run $NM "--print-armap $archive"]
- if { ![string match "*text_symbol in *bintest.o*" $got] \
- || ![string match "*data_symbol in *bintest.o*" $got] \
- || ![string match "*common_symbol in *bintest.o*" $got] \
- || [string match "*static_text_symbol in *bintest.o*" $got] \
- || [string match "*static_data_symbol in *bintest.o*" $got] \
- || [string match "*external_symbol in *bintest.o*" $got] } {
+ if { ![string match "*text_symbol in *bintest.${obj}*" $got] \
+ || ![string match "*data_symbol in *bintest.${obj}*" $got] \
+ || ![string match "*common_symbol in *bintest.${obj}*" $got] \
+ || [string match "*static_text_symbol in *bintest.${obj}*" $got] \
+ || [string match "*static_data_symbol in *bintest.${obj}*" $got] \
+ || [string match "*external_symbol in *bintest.${obj}*" $got] } {
fail $testname
return
}
global srcdir
global subdir
global base_dir
+ global obj
set testname "ar thin archive with nested archive"
- if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o] {
+ if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.${obj}] {
unresolved $testname
return
}
if [is_remote host] {
set archive artest.a
set archive2 artest2.a
- set objfile [remote_download host tmpdir/bintest.o]
+ set objfile [remote_download host tmpdir/bintest.${obj}]
remote_file host delete $archive
} else {
set archive tmpdir/artest.a
set archive2 tmpdir/artest2.a
- set objfile tmpdir/bintest.o
+ set objfile tmpdir/bintest.${obj}
}
remote_file build delete tmpdir/artest.a
}
set got [binutils_run $NM "--print-armap $archive"]
- if { ![string match "*text_symbol in *bintest.o*" $got] \
- || ![string match "*data_symbol in *bintest.o*" $got] \
- || ![string match "*common_symbol in *bintest.o*" $got] \
- || [string match "*static_text_symbol in *bintest.o*" $got] \
- || [string match "*static_data_symbol in *bintest.o*" $got] \
- || [string match "*external_symbol in *bintest.o*" $got] } {
+ if { ![string match "*text_symbol in *bintest.${obj}*" $got] \
+ || ![string match "*data_symbol in *bintest.${obj}*" $got] \
+ || ![string match "*common_symbol in *bintest.${obj}*" $got] \
+ || [string match "*static_text_symbol in *bintest.${obj}*" $got] \
+ || [string match "*static_data_symbol in *bintest.${obj}*" $got] \
+ || [string match "*external_symbol in *bintest.${obj}*" $got] } {
fail $testname
return
}
global AS
global srcdir
global subdir
+ global obj
set testname "ar argument parsing"
- if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o] {
+ if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.${obj}] {
unresolved $testname
return
}
if [is_remote host] {
set archive artest.a
- set objfile [remote_download host tmpdir/bintest.o]
+ set objfile [remote_download host tmpdir/bintest.${obj}]
remote_file host delete $archive
} else {
set archive tmpdir/artest.a
- set objfile tmpdir/bintest.o
+ set objfile tmpdir/bintest.${obj}
}
remote_file build delete tmpdir/artest.a
global NM
global srcdir
global subdir
+ global obj
set testname "ar deterministic archive"
- if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o] {
+ if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.${obj}] {
unresolved $testname
return
}
if [is_remote host] {
set archive artest.a
- set objfile [remote_download host tmpdir/bintest.o]
+ set objfile [remote_download host tmpdir/bintest.${obj}]
remote_file host delete $archive
} else {
set archive tmpdir/artest.a
- set objfile tmpdir/bintest.o
+ set objfile tmpdir/bintest.${obj}
}
remote_file build delete tmpdir/artest.a
set got [binutils_run $AR "tv $archive"]
# This only checks the file mode and uid/gid. We can't easily match
# date because it's printed with the user's timezone.
- if ![string match "rw-r--r-- 0/0 *bintest.o*" $got] {
+ if ![string match "rw-r--r-- 0/0 *bintest.${obj}*" $got] {
fail $testname
return
}
set got [binutils_run $AR "tvO $archive"]
- if ![string match "rw-r--r-- 0/0 *bintest.o 0x*" $got] {
+ if ![string match "rw-r--r-- 0/0 *bintest.${obj} 0x*" $got] {
fail $testname
return
}
global NM
global srcdir
global subdir
+ global obj
set testname "ar unique symbol in archive"
- if ![binutils_assemble $srcdir/$subdir/unique.s tmpdir/unique.o] {
+ if ![binutils_assemble $srcdir/$subdir/unique.s tmpdir/unique.${obj}] {
unresolved $testname
return
}
if [is_remote host] {
set archive artest.a
- set objfile [remote_download host tmpdir/unique.o]
+ set objfile [remote_download host tmpdir/unique.${obj}]
remote_file host delete $archive
} else {
set archive tmpdir/artest.a
- set objfile tmpdir/unique.o
+ set objfile tmpdir/unique.${obj}
}
remote_file build delete tmpdir/artest.a
}
set got [binutils_run $NM "--print-armap $archive"]
- if ![string match "*foo in *unique.o*" $got] {
+ if ![string match "*foo in *unique.${obj}*" $got] {
fail $testname
return
}
global AS
global srcdir
global subdir
+ global obj
set testname "ar deleting an element"
- if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o] {
+ if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.${obj}] {
unresolved $testname
return
}
if [is_remote host] {
set archive artest.a
- set objfile [remote_download host tmpdir/bintest.o]
+ set objfile [remote_download host tmpdir/bintest.${obj}]
remote_file host delete $archive
} else {
set archive tmpdir/artest.a
- set objfile tmpdir/bintest.o
+ set objfile tmpdir/bintest.${obj}
}
remote_file build delete tmpdir/artest.a
global AS
global srcdir
global subdir
+ global obj
set testname "ar moving an element"
- if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o] {
+ if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.${obj}] {
unresolved $testname
return
}
if [is_remote host] {
set archive artest.a
- set objfile [remote_download host tmpdir/bintest.o]
+ set objfile [remote_download host tmpdir/bintest.${obj}]
remote_file host delete $archive
} else {
set archive tmpdir/artest.a
- set objfile tmpdir/bintest.o
+ set objfile tmpdir/bintest.${obj}
}
remote_file build delete tmpdir/artest.a
global AS
global srcdir
global subdir
+ global obj
set testname "ar extracting an element"
- if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.o] {
+ if ![binutils_assemble $srcdir/$subdir/bintest.s tmpdir/bintest.${obj}] {
unresolved $testname
return
}
set archive artest.a
if [is_remote host] {
- set objfile [remote_download host tmpdir/bintest.o]
+ set objfile [remote_download host tmpdir/bintest.${obj}]
remote_file host delete $archive
} else {
- set objfile tmpdir/bintest.o
+ set objfile tmpdir/bintest.${obj}
}
remote_file build delete $archive
global AS
global srcdir
global subdir
+ global obj
set testname "ar many files"
puts $ofd " .long $i"
close $ofd
- set ofile "tmpdir/d-$i.o"
+ set ofile "tmpdir/d-$i.${obj}"
if ![binutils_assemble $sfile $ofile] {
unresolved $testname
return
# programs are built but not installed, running the testsuite on an
# installed toolchain will produce ERRORs about missing bfdtest1 and
# bfdtest2 executables.
-if { ![istarget "tic30-*-*"] && [file exists $base_dir/bfdtest1] && [file exists $base_dir/bfdtest2] } {
+if { [file exists $base_dir/bfdtest1] && [file exists $base_dir/bfdtest2] } {
set bfdtests [list bfdtest1 bfdtest2]
long_filenames $bfdtests
- thin_archive $bfdtests
- thin_archive_with_nested $bfdtests
+
+ # xcoff, ecoff, and vms archive support doesn't handle thin archives
+ if { ![istarget "*-*-aix*"]
+ && ![istarget "*-*-*ecoff"]
+ && ![istarget "*-*-vms"] } {
+ thin_archive $bfdtests
+ thin_archive_with_nested $bfdtests
+ }
}
symbol_table