This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: PATCH: Switch to V3


In article <20001112172238E.mitchell@codesourcery.com> you write:

>    Changes to this file should be copied to libtool-patches@gnu.org;
>    Alexandre Oliva has proved willing (thanks Alexandre!) to review
>    these changes.

>Port maintainers w/o global write access, you should feel free to
>touch the following configury bits, as they are part of your port.
>
>  - V3 configuration bits that tweak which which config/os directory
>    you get.  (These are in acinclude.m4, but Phil Edwards has a patch
>    to make a config.target; see the archives.  Now that the tree
>    is melted, Phil will probably check in this patch.)
>
>  - Libtool ltcf-c.sh changes to use `gcc -shared'.

Note that ltcf-c.sh / ltcf-cxx.sh   suffers from a HUGE oversight with 
-shared that does not look solved yet (I reported it to libtool maintainers
a while ago, I'm somewhat guilty from not having had time to help solve it).

Specifically, it does use -shared blindly, without code generation suboptions
(picflag, for instance). This does break all architectures that do need to
know about these at this point.
- since libtool tries to guess at the compiler default path, it will guess
wrong for all multi-libbed architectures.
- all architectures that go thru collect2 to generate static constructors
need to generate code at gcc -shared time, using the right combination of
picflags.

I can fix this for OpenBSD, but this is a very generic problem that's somewhat
painful to solve. I'm not overly familiar with the incredible spagghetti code
that's called libtool, nor do I intend to become familiar with it.

I'd much rather prefer a global solution from the libtool maintainers than
coding it architecture after architecture.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]