Re: Changing the C/C++ compiler for gdb testsuite runs

Daniel Jacobowitz
2002-01-10T19:30:19Z

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