gdb.exp: Support absolute path name args in 'prepare_for_testing' etc.

Test cases that produce source files in the build directory have not
been able to use prepare_for_testing and friends.  This was because
build_executable_from_specs unconditionally prepended the source
directory path name to its arguments.
This commit is contained in:
Andreas Arnez 2014-03-07 10:23:42 +00:00 committed by Andreas Krebbel
parent c792917cdc
commit 0e5c45554b
2 changed files with 14 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2014-03-12 Andreas Arnez <arnez@linux.vnet.ibm.com>
* lib/gdb.exp (build_executable_from_specs): Don't prepend source
directory to absolute path name arguments.
2014-03-10 Joel Brobecker <brobecker@adacore.com>
* gdb.ada/tagged_access: New testcase.

View File

@ -4260,14 +4260,21 @@ proc build_executable_from_specs {testname executable options args} {
if [string match gdb_compile_shlib* $func] {
set sources_path {}
foreach {s local_options} $args {
lappend sources_path "${srcdir}/${subdir}/${s}"
if { [regexp "^/" "$s"] } then {
lappend sources_path "$s"
} else {
lappend sources_path "$srcdir/$subdir/$s"
}
}
set ret [$func $sources_path "${binfile}" $options]
} else {
set objects {}
set i 0
foreach {s local_options} $args {
if { [gdb_compile "${srcdir}/${subdir}/${s}" "${binfile}${i}.o" object $local_options] != "" } {
if { ! [regexp "^/" "$s"] } then {
set s "$srcdir/$subdir/$s"
}
if { [gdb_compile "${s}" "${binfile}${i}.o" object $local_options] != "" } {
untested $testname
return -1
}