Multilib question

Michael Eager eager@eagercon.com
Fri Oct 9 21:43:00 GMT 2009


Ian Lance Taylor wrote:
> Michael Eager <eager@eagercon.com> writes:
> 
>> I want a multilib configurations to specify two options,
>> not just a single option.  I don't see anything in the
>> docs which describes how to do this or any target which
>> does this.
>>
>> Is there a way to specify that the 'foo' multilib
>> config should be built with -mfoo and -mbar?
> 
> You can probably do this but it's not clear what you want.  Multilibs
> go two ways: they tell the build process which libraries to build at
> build time, and they tell the compiler driver which libraries to link
> against at link time.  What should happen if somebody links using just
> -mfoo or just -mbar?

-mbar is an optimization which is only valid if -mfoo is also specified.
Linking a non- -mbar lib with -mfoo works OK, -mbar with non- -mfoo fails.

During compile, if only -mfoo is specified, everything works OK.
With only -mbar, a warning message is generated which says that
it's only valid with -mfoo, and the option is suppressed.   So
multilib is actually building a library which claims to be -mbar
but isn't.

We've been building libraries outside of gcc so that both -mfoo and
-mbar are specified.  We overwrite the library built by gcc/multilib
with the correctly built library.

There seems to be another consequence of the warning message.
It looks like libstdc++ is being incorrectly configured because
the warning is interpreted as a failure while testing for the
existence of an include file.  I don't know why this only happens
building libstdc++.

-- 
Michael Eager	 eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306  650-325-8077



More information about the Gcc-help mailing list