[adtools] Re: GCC 4.2.4 shared objects issues...

  • From: Jens Langner <Jens.Langner@xxxxxxxxxxxxxx>
  • To: adtools@xxxxxxxxxxxxx
  • Date: Mon, 14 Jul 2008 22:54:41 +0200

Hello Jens,

On Tue, 08 Jul 2008 23:38:18 +0200, Jens Langner wrote:

> Hello guys,
>
> after a longer investigation I think I have nailed down our still
> existing problems with the shared objects linkage to the following still
> existing issues:
>
> 1) libstdc++.so is automatically linked against the static libgcc.a and 
>    libc.a instead of linking it against their shared variants.
>
> 2) per default "-shared-libgcc" seems to be active. That's the reason why
>    the *libgcc: line in the default specs seems to cause a linkage with
>    the incorrect static/shared version and that's the reason why an
>    explicit "-shared" or "-static" usage fixes this.
>
> 3) our rename of libgcc_s.so to libgcc.so isn't so a good idea as it
>    seems to confuse the internals of GCC.
>
> For the above issue I would suggest the following solutions/questions:
>
> 1) find a way to make sure that all our .so objects, which are
>    automatically generated through a GCC build, are correctly linked to
>    other shared objects only. Henning, do you have any idea why our
>    libstdc++.so is linked against libgcc.a instead of libgcc.so? Perhaps
>    a missing "-shared" call when building libstdc++.so and friends?
>
> 2) Why is "-shared-libgcc" enabled per default? is that normal?
>
> 3) I have partly reverted Henning's last change so that a libgcc_s.so is
>    generated instead. However, to still be able to use the library as
>    "libgcc.so" I changed the "--soname=" option to name it "libgcc.so"
>    instead so that we can keep our SOBJS:libgcc.so naming scheme. This
>    should help cleaning that shared/static library naming scheme when
>    compiling (which probably was the initial intention of the GCC crew).
>    By this change we can still keep our naming to "libgcc.so" while
>    during compilation GCC will try to find a libgcc_s.so in the GCC:
>    directory path which is just for development purposes anyway.

Henning? did you already have some time to look after the above things and
eventually try to fix the last outstanding things? In addition, I would be
curious how easily we can ge the -baserel stuff working again in the latest
GCC versions?

cheers,
jens
-- 
Jens Langner, Dresden/Germany
http://www.jens-langner.de/

Man invented language to satisfy his deep need to complain.
-- Lily Tomlin

______________________________________________________________________________
Amiga Development tools ML - //www.freelists.org/list/adtools
Homepage...................: http://www.sourceforge.net/projects/adtools
Listserver help............: mailto:adtools-request@xxxxxxxxxxxxx?Subject=HELP

Other related posts: