diff options
author | Michael Snyder <msnyder@vmware.com> | 2002-05-07 00:45:46 +0000 |
---|---|---|
committer | Michael Snyder <msnyder@vmware.com> | 2002-05-07 00:45:46 +0000 |
commit | f1c47eb23810315ee8b51dc0ea0bdf7b6eb3caa9 (patch) | |
tree | 5934fe490e6add8235433a869b80da1459453666 /gdb/testsuite/lib | |
parent | b491616acb5462a3694160ffef6413c160fed10a (diff) | |
download | gdb-f1c47eb23810315ee8b51dc0ea0bdf7b6eb3caa9.zip gdb-f1c47eb23810315ee8b51dc0ea0bdf7b6eb3caa9.tar.gz gdb-f1c47eb23810315ee8b51dc0ea0bdf7b6eb3caa9.tar.bz2 |
2002-05-06 Michael Snyder <msnyder@redhat.com>
Enable the "needs_status_wrapper" testsuite feature.
* lib/gdb.exp (gdb_wrapper_init): New procedure.
(gdb_compile): Conditionally call gdb_wrapper_init.
* gdb.base/a2-run.exp: Recognize output from status wrapper.
* gdb.c++/method.exp: Recognize output from status wrapper.
Diffstat (limited to 'gdb/testsuite/lib')
-rw-r--r-- | gdb/testsuite/lib/gdb.exp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index e476599..303c3c5 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -1092,8 +1092,34 @@ proc gdb_preprocess {source dest args} { return $result; } +set gdb_wrapper_initialized 0 + +proc gdb_wrapper_init { args } { + global gdb_wrapper_initialized; + global gdb_wrapper_file; + global gdb_wrapper_flags; + + if { $gdb_wrapper_initialized == 1 } { return; } + + if {[target_info exists needs_status_wrapper] && \ + [target_info needs_status_wrapper] != "0" && \ + ![info exists gdb_wrapper_file]} { + set result [build_wrapper "testglue.o"]; + if { $result != "" } { + set gdb_wrapper_file [lindex $result 0]; + set gdb_wrapper_flags [lindex $result 1]; + } else { + warning "Status wrapper failed to build." + } + } + set gdb_wrapper_initialized 1 +} + proc gdb_compile {source dest type options} { global GDB_TESTCASE_OPTIONS; + global gdb_wrapper_file; + global gdb_wrapper_flags; + global gdb_wrapper_initialized; if [target_info exists gdb_stub] { set options2 { "additional_flags=-Dusestubs" } @@ -1111,6 +1137,15 @@ proc gdb_compile {source dest type options} { verbose "options are $options" verbose "source is $source $dest $type $options" + if { $gdb_wrapper_initialized == 0 } { gdb_wrapper_init } + + if {[target_info exists needs_status_wrapper] && \ + [target_info needs_status_wrapper] != "0" && \ + [info exists gdb_wrapper_file]} { + lappend options "libs=${gdb_wrapper_file}" + lappend options "ldflags=${gdb_wrapper_flags}" + } + set result [target_compile $source $dest $type $options]; regsub "\[\r\n\]*$" "$result" "" result; regsub "^\[\r\n\]*" "$result" "" result; |