0917 on OpenServer ELF & libgloss query.
Jeffrey A Law
law@cygnus.com
Fri Sep 19 19:22:00 GMT 1997
In message < 19970919123631.02586@dgii.com >you write:
> 'make check' doesn't do what I'd guess it's sposta do. It looks like
> there is new code in libgloss.exp (function get_multilibs) that figures
> out if a compiler is multilibbed and if so, adds the multilib flags
> (-mcoff) as a dimension of arguments in the matrix passed to the compiler
> under test. I can't tell that code is ever called. If I need to
> manually tell runtest about the multilibbing, I can't figure out the
> flags to do it. If I just plain need to run runtest twice, once with
> --tool_opts="-mcoff" then so be it.
The way to do this is to call process_multilib_options with the
appropriate options ie:
process_multilib_options "-EL -msoft-float"
You would do this in the baseboards/blah.exp file. You might also need
to set run_multiple_targets 1. Not sure about that.
I suspect you're getting baseboards/unix.exp by default, you can either
put it in there (a hack, but effective if you don't care about other
targets).
Or you can create a site.exp, which does something like this:
# Needed for isnative.
load_lib "framework.exp"
# Make sure we look in the right place for the board description files.
if ![info exists boards_dir] {
set boards_dir {}
}
#
# If we're testing GCC, G++ or GDB, then we want to run on all the
# available targets. Otherwise, just test the first one.
#
if ![info exists tool] {
set run_multiple_targets 0;
} elseif { $tool == "g++" || $tool == "gcc" || $tool == "gdb" || $tool == "libg++" || $tool == "libstdc++" || $tool == "libio" || $tool == "binutils" } {
set run_multiple_targets 1;
} else {
set run_multiple_targets 0;
}
verbose "Global Config File: target_triplet is $target_triplet" 2
global target_list
case "$target_triplet" in {
{ "native" } {
set target_list "unix"
}
}
You'd create another entry in the switch for sco5, which would set the
target list to something like sco5.
baseboards/sco5.exp would look like unix.exp, except for the
process_multilib_options line.
Oh yea, you need to tell dejagnu about site.exp. I think the proper
way is to set the environment variable DEJAGNU to whatever site.exp
you want to use.
Phew...
Jeff
More information about the Gcc
mailing list