• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1
2proc ld_run { objects ldflags dest test } {
3    set ld_output [target_link $objects $dest $ldflags]
4}
5
6proc readelf_run { exec flags dest test } {
7    set readelf [find_binutils_prog readelf]
8    verbose -log "$readelf $flags $exec > $dest"
9    catch "exec $readelf $flags $exec > $dest" readelf_output
10}
11
12proc regexp_test { file1 file2 test } {
13    if [regexp_diff $file1 $file2] then { fail $test } else { pass $test }
14}
15
16global srcdir subdir
17if [istarget microblaze*-*-elf] {
18    foreach file [lsort [glob -nocomplain -- $srcdir/$subdir/relax_size*.s]] {
19        set file [file rootname [file tail $file]]
20        gas_run "$file.s" "-o $file.o" ""
21        ld_run "$file.o"  "-e 0 -N -relax" "$file.x" "linking $file.x"
22        readelf_run "$file.x" "-s" "$file.elf" "readelf -s $file.x"
23        regexp_test "$file.elf" "$srcdir/$subdir/$file.elf" "matching $file.elf"
24    }
25}
26