libtool-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: IRIX 6.5 and exporting symbols.


From: Peter Ekberg
Subject: RE: IRIX 6.5 and exporting symbols.
Date: Wed, 9 Mar 2005 14:11:40 +0100

On 2005-01-13, I wrote:
> Albert Chin wrote:
>> Please rerun with -v so we see who gcc is calling.
> 
> gcc -v -shared .libs/cleanup.o .libs/cleanup_stubs.o .libs/cpuid.o
> .libs/conf.o .libs/debug.o .libs/dl.o .libs/init.o .libs/misc.o
> .libs/parse.o .libs/string.o .libs/time.o .libs/task.o .libs/ptlock.o
> .libs/ptsched.o -lpthread -Wl,-soname -Wl,libgg.so.2 -Wl,-set_version
> -Wl,sgi2.0 -Wl,-update_registry -Wl,.libs/so_locations
> -Wl,-exports_file
> -Wl,../gg/EXPSYMS -o .libs/libgg.so.2.0
> 
> gets me:
> 
> Reading specs from
> /pkg/gcc/mips-irix65/3.2/lib/gcc-lib/mips-sgi-irix6.5/3.2/specs
> Configured with: ../../../configure --prefix=/pkg/gcc/mips-irix65/3.2
> --disable-shared --disable-libgcj
> Thread model: single
> gcc version 3.2
>  /pkg/gcc/mips-irix65/3.2/lib/gcc-lib/mips-sgi-irix6.5/3.2/collect2
> -shared -init __do_global_ctors -fini __do_global_dtors -hidden_symbol
> __do_global_ctors,__do_global_ctors_1,__do_global_dtors -_SYSTYPE_SVR4
> -woff 131 -n32 -o .libs/libgg.so.2.0
> /pkg/gcc/mips-irix65/3.2/lib/gcc-lib/mips-sgi-irix6.5/3.2/crtbegin.o
> -L/pkg/gcc/mips-irix65/3.2/lib/gcc-lib/mips-sgi-irix6.5/3.2 -L/usr/bin
> -L/pkg/gcc/mips-irix65/3.2/lib/gcc-lib/mips-sgi-irix6.5/3.2/../../..
> .libs/cleanup.o .libs/cleanup_stubs.o .libs/cpuid.o .libs/conf.o
> .libs/debug.o .libs/dl.o .libs/init.o .libs/misc.o .libs/parse.o
> .libs/string.o .libs/time.o .libs/task.o .libs/ptlock.o
> .libs/ptsched.o -lpthread -soname libgg.so.2 -set_version sgi2.0
> -update_registry .libs/so_locations -exports_file ../gg/EXPSYMS
> -dont_warn_unused -lgcc 
> -warn_unused -L/usr/lib32/mips3 -L/usr/lib32 -dont_warn_unused -lgcc
> -warn_unused
> /pkg/gcc/mips-irix65/3.2/lib/gcc-lib/mips-sgi-irix6.5/3.2/crtend.o
> ld32: ERROR 4: Conflicting flag setting: -exports_file
> ld32: ERROR 4: Conflicting flag setting: -exports_file
> collect2: ld returned 2 exit status
> 
> Which provides further evidence that the gcc ML message referred to in
> the original post was correct. I.e. the -hidden_symbol
> argument is what
> conflicts with -exports_file, since -exports_file automatically hides
> all symbols not mentioned and hiding a symbol twice is apparently
> treated as a conflict (which is a bit mysterious).

I thought I'd provide a patch against the 2.0 branch.

It simply disables the possibility to specify which symbols
you want to export, since this can't be done in a reliable
way.

This makes it work for me, the namespace is sadly polluted,
but there is nothing we can do about that, short of hacking
the gcc specs file or wait for gcc 3.5/4.0 to be released
as indicated by this bugzilla entry:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15288

Here a changelog entry:

2005-03-09  Peter Ekberg  <spam.protected>

        * m4/libtool.m4 (_LT_LINKER_SHLIBS): Don't use the
        -exports_file linker option on irix with gcc, as
        the default gcc specs file includes a -hidden_symbol
        option that is clashing with the -exports_file option.

Please apply.

Cheers,
Peter

Attachment: irix-export-symbols-conflict.patch
Description: irix-export-symbols-conflict.patch


reply via email to

[Prev in Thread] Current Thread [Next in Thread]