On Fri, 2012-06-22 at 10:24 +0100, Richard Sandiford wrote:

> If you use a different target name, the specs for that target can
> enforce whatever triplet-specific defaults you want.  See the
> DRIVER_SELF_SPECS in vr.h for a particularly involved example.
> (Yours shouldn't need to be as bad!)

I think that using DRIVER_SELF_SPECS would still require me to figure
out exactly what architectures support -msynci and which don't in order
to pass the right thing.  What I liked about -msynci-if-supported is
that it means there is only one check to determine if synci is
supported, the one in mips.h, and so I don't have to worry about two
different tests not being consistent.

> How are you expecting to use this configuration?  Is the sysroot
> that backs it going to have C libraries for all combinations?
> I assume so, since otherwise you wouldn't be able to build
> more than libgcc.

Yes, I would build a C library for each combination.

> If so, we need to define what the OS library directories
> are for -EB vs -EL, -mhard-float vs. -msoft-float, etc.
> Are you planning to extend the IRIX lib/lib32/lib64 system,
> or use the Debian/Ubuntu multiarch?
> 
> Richard

I was looking at lib/lib32/lib64.  Here is the full t-mti file I was
trying to build with the latest sources:

MULTILIB_OPTIONS = EL/EB msoft-float mips32
MULTILIB_DIRNAMES = el eb soft-float mips32
MULTILIB_MATCHES := EL=mel EB=meb
EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o

and I also have a mti.h header file with:

#define MULTILIB_DEFAULTS { "EB" }
#define SYSROOT_SUFFIX_SPEC \
  "%{mel|EL:/el}%{msoft-float:/soft-float}%{mips32:/mips32}"

Steve Ellcey
sell...@mips.com


Reply via email to