ld tests hang on older arm-linux hosts
Nick Clifton
nickc@redhat.com
Wed Aug 17 15:05:00 GMT 2005
Hi Richard,
> The new init-array family of tests are spinning for ever on some older
> arm-linux platforms (where there appears to be a bug in ld-linux.so).
>
> The test framework executes a generated test using
>
> catch "exec $binfile > $binfile.out" exec_output
>
> but this doesn't take a timeout, so if the executable doesn't terminate
> the testsuite just hangs. I think it needs to use the remote_exec (or
> local_exec) proc in dejagnu's remote.exp framework file which can take a
> timeout, but my expect knowledge is limited and I've been unsuccessful
> in producing a viable patch.
Are you still struggling with this ?
If so then I think that it may be file redirection that is causing the
problems. For example I found that replacing this:
set failed 0
send_log "Running: $binfile > $binfile.out\n"
verbose "Running: $binfile > $binfile.out"
catch "exec $binfile > $binfile.out" exec_output
if ![string match "" $exec_output] then {
send_log "$exec_output\n"
verbose "$exec_output" 1
set failed 1
} else {
with this:
set failed 0
send_log "Running: $binfile\n"
verbose "Running: $binfile"
set tmp [local_exec $binfile "" "" 100]
set status [lindex $tmp 0]
set bin_output [lindex $tmp 1]
if { $status != 0 } then {
set failed 1
} else {
worked. Of course at this point you have the output of the program in a
variable called $bin_output but the code is about to go on and do a
"diff $binfile.out...." but I am sure that you can fix that.
Also you would probably want the timeout to be set on a per-target basis
and not hardcoded to 100.
Cheers
Nick
More information about the Binutils
mailing list