This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: Changing the C/C++ compiler for gdb testsuite runs
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: Kevin Buettner <kevinb at redhat dot com>
- Cc: Michael Elizabeth Chastain <mec at shout dot net>, Richard dot Earnshaw at arm dot com,gdb at sources dot redhat dot com
- Date: Thu, 10 Jan 2002 14:30:40 -0500
- Subject: Re: Changing the C/C++ compiler for gdb testsuite runs
- References: <200201101658.KAA16306@duracef.shout.net> <1020110190932.ZM5067@localhost.localdomain>
On Thu, Jan 10, 2002 at 12:09:33PM -0700, Kevin Buettner wrote:
> On Jan 10, 10:58am, Michael Elizabeth Chastain wrote:
>
> > If you build gcc and gdb in a unified build tree then dejagnu will find
> > and use the uninstalled compiler in the unified build tree, even in
> > preference to $PATH. That behaviour actually got in my way so I stopped
> > using unified trees.
>
> Here's one way to use a different compiler in a unified tree...
>
> 1) In gdb/testsuite (in your build directory), do
>
> make site.exp
>
> 2) Add lines similar to the following to the end of
> gdb/testsuite/site.exp:
>
> set CC_FOR_TARGET "/some/other/path/to/gcc"
> set CXX_FOR_TARGET "/some/other/path/to/g++"
>
> If anyone knows of other (more elegant) tricks that can be used to
> accomplish the same thing, I'd like to hear about them...
I do this by different board files.
In dejagnu/baseboards, copy unix.exp. Edit it. It should originally
say:
set_board_info compiler "[find_gcc]";
I have:
set_board_info compiler "/opt/src/gcc/install-30/bin/gcc";
set_board_info c++compiler "/opt/src/gcc/install-30/bin/g++";
There's matching variables for all the other compiler types (Java etc).
I don't yet test those.
Then, to run:
../../../src/dejagnu/runtest --target_board "unix unix3" blah.exp
That will run tests for both the default GCC and the custom in
install-30. You can also do:
--target_board "unix/gdb:debug_flags=-gdwarf-2"
to test DWARF-2, or likewise for any other flag. There's a pure
/dwarf2 option but don't use it; that's dwarf-1 level 2. I've been
forgetting to file a DejaGNU bug report about this.
The results of this thread should go in the GDB manual somewhere!
--
Daniel Jacobowitz Carnegie Mellon University
MontaVista Software Debian GNU/Linux Developer