mklibgcc fallout

Richard Sandiford rsandifo@redhat.com
Wed Dec 8 14:08:00 GMT 2004


Alan Modra <amodra@bigpond.net.au> writes:
> On Wed, Dec 08, 2004 at 12:08:21PM +0000, Richard Sandiford wrote:
>> This breaks build-dir testing for me on IRIX because (a) we set the
>> DT_SONAME of every libgcc_s*.so.1 multilib to libgcc.so.1
>
> I do get all the libs built on powerpc64-linux, but sonames are a little
> odd.  Oh, they are suited to the final installation location, which
> means build dir testing won't work.
>
> in gcc/			soname			install
> libgcc_s.so.1		libgcc_s.so.1		../lib64/libgcc_s.so.1
> libgcc_s_32.so.1	libgcc_s.so.1		../lib/libgcc_s.so.1
> libgcc_s_32_nof.so.1	libgcc_s_nof.so.1	../lib/libgcc_s_nof.so.1
>
> This does make some sense if you notice that this results in the 32-bit
> libs having the same name and installation location as libs built for
> a 32-bit powerpc-linux gcc.

Thanks for the info.  Just to add publicly what I've already said privately:

The o32 and n64 multilibs have an soname of libgcc_s.so.1.  That's been
true for a while (since at least 3.4).  It works fine for the installed
libraries because the install tree looks like this:

    libgcc_s.so -> libgcc_s.so.1
    libgcc_s.so.1
    mabi=64/libgcc_s.so.1
    mabi=64/libgcc_s_mabi-64.so -> libgcc_s.so.1
    mabi=32/libgcc_s.so.1
    mabi=32/libgcc_s_mabi-32.so -> libgcc_s.so.1

and it worked with the old hierarchical build directory layout too.
The problem is that it doesn't work with the new flat layout because
every multilib tries to use the same libgcc_s.so.1 (the n32 one).

(Note that in 3.4, the names used to be "...mabi=32.so" and
"...mabi=64.so" rather than "...mabi-32.so" and "mabi-64.so".
That change shouldn't really matter, I guess, since only the
soname makes it into the final output.)

Or, using the same format as Alan did above:

in gcc/			soname			install
libgcc_s.so.1           libgcc_s.so.1           libgcc_s.so.1
libgcc_s_mabi-32.so.1   libgcc_s.so.1           mabi=32/libgcc_s.so.1
libgcc_s_mabi-64.so.1   libgcc_s.so.1           mabi=64/libgcc_s.so.1

Richard



More information about the Gcc-patches mailing list