This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Add "needs_status_wrapper" feature to gdb testsuite.


Hmm,

This doesn't work with existing multi-lib configurations.  The second 
and further test runs get linked with the wrong wrapper (because it 
wasn't re-compiled) :-(

Can this please be pulled or disabled until the problem is fixed?

Andrew


> This is a feature that has been being used in the GCC testsuite, 
> but I was completely unaware of it before now.
> 
> This enables tests that look for an exit status to succeed even
> on targets that don't implement the exit status.  I think it's
> pretty cool!
> 
> I've modified two tests from gdb/testsuite to take advantage of it.
> I'm not sure which other tests may also need modification, but
> now there are a couple of examples to look at.
> 
> Index: lib/gdb.exp
> ===================================================================
> RCS file: /cvs/src/src/gdb/testsuite/lib/gdb.exp,v
> retrieving revision 1.15
> diff -p -r1.15 gdb.exp
> *** lib/gdb.exp	3 Apr 2002 16:17:11 -0000	1.15
> --- lib/gdb.exp	7 May 2002 00:10:06 -0000
> *************** proc gdb_preprocess {source dest args} {
> *** 1092,1099 ****
> --- 1092,1125 ----
>       return $result;
>   }
>   
> + set gdb_wrapper_initialized 0
> + 
> + proc gdb_wrapper_init { args } {
> +     global gdb_wrapper_initialized;
> +     global gdb_wrapper_file;
> +     global gdb_wrapper_flags;

return;

> +     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
> + }
> + 



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]