[Top][All Lists]
[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'