From: Andreas Arnez Date: Fri, 7 Mar 2014 10:23:42 +0000 (+0000) Subject: gdb.exp: Support absolute path name args in 'prepare_for_testing' etc. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0e5c45554bc3d274809e688d3bfb8e5438cc3539;p=binutils-gdb.git 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. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 44fb290132d..47b586bf0c6 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2014-03-12 Andreas Arnez + + * lib/gdb.exp (build_executable_from_specs): Don't prepend source + directory to absolute path name arguments. + 2014-03-10 Joel Brobecker * gdb.ada/tagged_access: New testcase. diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 2d04a8cb97b..4a6f930a58f 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -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 }