[RFA-v2] testsuite: avoid compilation error on cygwin/mingw if -nostdlib option is used.

Pierre Muller
2009-10-02T07:15:45Z

Thanks Pedro for the feedback.

Here is an updated version
Is this OK?

Pierre

2009-10-02 Pierre Muller <muller@ics.u-strasbg.fr>
Pedro Alves <pedro@codesourcery.com>

* lib/gdb.exp (gdb_compile): Avoid adding
gdb_saved_unbuffered_mode_obj if -nostdlib option is used.

Index: lib/gdb.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/lib/gdb.exp,v
retrieving revision 1.119
diff -u -p -r1.119 gdb.exp
--- lib/gdb.exp 13 Jul 2009 19:24:18 -0000 1.119
+++ lib/gdb.exp 2 Oct 2009 07:08:40 -0000
@@ -1824,7 +1824,11 @@ proc gdb_compile {source dest type optio
# reverse link order. In that case, we can use ldflags to
# avoid copying the object file to the host multiple
# times.
- lappend options "ldflags=$gdb_saved_set_unbuffered_mode_obj"
+ # This object can only be added if standard libraries are
+ # used. Thus, we need to disable it if -nostdlib option is used
+ if {[lsearch -regexp $options "-nostdlib"] < 0 } {
+ lappend options "ldflags=$gdb_saved_set_unbuffered_mode_obj"
+ }
}
}

> -----Message d'origine-----
> De : gdb-patches-owner@sourceware.org [mailto:gdb-patches-
> owner@sourceware.org] De la part de Pedro Alves
> Envoyé : Friday, October 02, 2009 1:30 AM
> À : gdb-patches@sourceware.org
> Cc : Pierre Muller
> Objet : Re: [RFA] testsuite: avoid compilation error on cygwin/mingw if
> -nostdlib option is used.
>
> Seems reasonable. This is okay, with nits below.
>
> On Thursday 01 October 2009 23:36:12, Pierre Muller wrote:
>
> > + set add_unbuffered_object 1;
> > + if {[lsearch -regexp $options ".*-nostdlib.*"] >= 0 } {
> > + verbose "No set_unbuffered_mode for -nostdlib option";
> > + set add_unbuffered_object 0;
> > + }
>
> The ';' are unnecessary. The '.*' are also unnecessary.
>
> > if { $gdb_saved_set_unbuffered_mode_obj == "" } {
> > verbose "compiling gdb_saved_set_unbuffered_obj"
> > set unbuf_src ${srcdir}/lib/set_unbuffered_mode.c
> > @@ -1824,7 +1881,9 @@ proc gdb_compile {source dest type optio
> > # reverse link order. In that case, we can use ldflags to
> > # avoid copying the object file to the host multiple
> > # times.
> > - lappend options "ldflags=$gdb_saved_set_unbuffered_mode_obj"
> > + if { $add_unbuffered_object == 1 } {
>
> Works too:
>
> if { $add_unbuffered_object } {
>
> Or, why not drop the extra variable, and just:
>
> if {[lsearch -regexp $options "-nostdlib"] < 0 } {
> lappend options "ldflags=$gdb_saved_set_unbuffered_mode_obj"
> }
>
> a suitable small comment would be nice too.
>
> > + lappend options
> "ldflags=$gdb_saved_set_unbuffered_mode_obj"
> > + }
> > }
> > }
>
> --
> Pedro Alves