blob: 6aace5374517078ece56f73caff6295e8174a0ed [file] [log] [blame]
proc ld_run { objects ldflags dest test } {
set ld_output [target_link $objects $dest $ldflags]
}
proc readelf_run { exec flags dest test } {
set readelf [find_binutils_prog readelf]
verbose -log "$readelf $flags $exec > $dest"
catch "exec $readelf $flags $exec > $dest" readelf_output
}
proc regexp_test { file1 file2 test } {
if [regexp_diff $file1 $file2] then { fail $test } else { pass $test }
}
if [istarget microblaze*-*-elf] {
foreach file [lsort [glob -nocomplain -- $srcdir/$subdir/relax_size*.s]] {
set file [file rootname [file tail $file]]
gas_run "$file.s" "-o $file.o" ""
ld_run "$file.o" "-e 0 -N -relax" "$file.x" "linking $file.x"
readelf_run "$file.x" "-s" "$file.elf" "readelf -s $file.x"
regexp_test "$file.elf" "$srcdir/$subdir/$file.elf" "matching $file.elf"
}
}