libtool-patches
[Top][All Lists]
Advanced

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

FYI: IRIX 6.5 and exporting symbols.


From: Ralf Wildenhues
Subject: FYI: IRIX 6.5 and exporting symbols.
Date: Thu, 17 Mar 2005 13:21:57 +0100
User-agent: Mutt/1.4.1i

Hi Peter,

* Peter Ekberg wrote on Thu, Mar 17, 2005 at 12:45:18PM CET:
> I wrote:
> > 
> > 2005-03-10  Peter Ekberg  <spam.protected>
> > 
> >     * m4/libtool.m4 (_LT_LINKER_SHLIBS): Test if it is
> >     possible to use the -exports_file linker option on
> >     irix with gcc, as the gcc specs file may include
> >     a -hidden_symbol option that is clashing with the
> >     -exports_file option.
> >     See this gcc bugzilla entry for further details:
> >     http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15288
> > 
> 
> Someone mentioned a 72 hour rule? This has been waiting
> for a week now... :-)

LOL :)

Well, you have not been forgotten.  For one thing I was hoping Michael
would report back if he had a chance to test -- his last message sounded
like it.  For another I had this really slight hope of someone writing a
linking rule with $LD (which could then have the functionality you need
even for the broken gcc versions).

Furthermore, I have been thinking about whether there is a documentation
bug on SGI's side involved.  After reading the paragraph Albert quoted
several times, I believe that is not the case.

About the 72 hour rule: if one developer posts a patch which is not
commented upon for 72 hours, it's deemed appropriate for him to check
the patch in.

It's good you bug us -- some things invariably slip through.  For
example, I still have things I'd like to look at dating from last year.
And for me it's always lots more work to look at systems I don't have
much experience with.

I will apply your patch as below, slightly modified, to HEAD and
branch-2-0.  branch-1-5 will need as prerequisite another one or two
backports.

I will also add you to THANKS.  But I have a request here:  For both
then ChangeLog entries and the THANKS entry, I would like to enter a
real email address.  Would that be ok with you?  Note that I don't have
a big problem with not mentioning it in a mailing list message (it is
inconvenient, however).  Also note that the gnu online list archive does
address munging.

Regards,
Ralf

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

        * m4/libtool.m4 (_LT_LINKER_SHLIBS) [ irix5, irix6, nonstopux ]:
        Test if it is possible to use the -exports_file linker option on
        irix with gcc, as the gcc specs file may include a -hidden_symbol
        option that is clashing with the -exports_file option.
        See this gcc bugzilla entry for further details:
        http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15288
        * THANKS: Update.

Index: THANKS
===================================================================
RCS file: /cvsroot/libtool/libtool/THANKS,v
retrieving revision 1.41
diff -u -r1.41 THANKS
--- THANKS      8 Mar 2005 09:22:49 -0000       1.41
+++ THANKS      17 Mar 2005 12:25:53 -0000
@@ -90,6 +90,7 @@
   Patrick Welche               address@hidden
   Paul Eggert                  address@hidden
   Peter Eisentraut             address@hidden
+  Peter Ekberg                 spam.protected
   Rainer Orth                  address@hidden
   Sebastian Wilhelmi           address@hidden
   Stephan Kulow                        address@hidden
Index: m4/libtool.m4
===================================================================
RCS file: /cvsroot/libtool/libtool/m4/libtool.m4,v
retrieving revision 1.171
diff -u -r1.171 libtool.m4
--- m4/libtool.m4       16 Mar 2005 17:27:35 -0000      1.171
+++ m4/libtool.m4       17 Mar 2005 12:25:54 -0000
@@ -4106,7 +4106,15 @@
     irix5* | irix6* | nonstopux*)
       if test "$GCC" = yes; then
        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs 
$compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO 
${wl}-set_version ${wl}$verstring` ${wl}-update_registry 
${wl}${output_objdir}/so_locations -o $lib'
-       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs 
$compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO 
${wl}-set_version ${wl}$verstring` ${wl}-update_registry 
${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o 
$lib'
+       # Try to use the -exported_symbol ld option, if it does not
+       # work, assume that -exports_file does not work either and
+       # implicitly export all symbols.
+        save_LDFLAGS="$LDFLAGS"
+        LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo 
${wl}-update_registry ${wl}/dev/null"
+        AC_LINK_IFELSE(int foo(void) {},
+          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs 
$compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO 
${wl}-set_version ${wl}$verstring` ${wl}-update_registry 
${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o 
$lib'
+        )
+        LDFLAGS="$save_LDFLAGS"
       else
        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs 
$compiler_flags -soname $soname `test -n "$verstring" && $ECHO -set_version 
$verstring` -update_registry ${output_objdir}/so_locations -o $lib'
        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs 
$compiler_flags -soname $soname `test -n "$verstring" && $ECHO -set_version 
$verstring` -update_registry ${output_objdir}/so_locations -exports_file 
$export_symbols -o $lib'




reply via email to

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