libtool-patches
[Top][All Lists]
Advanced

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

Re: libtool--release--2.0 test results


From: Ralf Wildenhues
Subject: Re: libtool--release--2.0 test results
Date: Tue, 12 Oct 2004 19:37:21 +0200
User-agent: Mutt/1.4.1i

* Peter O'Gorman wrote on Tue, Oct 12, 2004 at 02:25:10AM CEST:
> Albert Chin wrote:
> >On Mon, Oct 11, 2004 at 07:15:39PM +0200, Ralf Wildenhues wrote:
> >
> >>So now, with the patch below, plus LDFLAGS=-nofor_main, all Fortran
> >>tests pass.  Is it sensible to require the user to set the LDFLAGS
> >>setting?
> >
> >
> >I don't think so. Is there every a time when libtool-created Fortran
> >libraries should not use -nofor_main? If not, then m4/libtool.m4
> >should be updated to use -nofor_main (in which case the patch to
> >config/ltmain.m4sh should be unnecessary).
> >
> >Libtool should do the "right thing" by default.
> 
> Looks to me like when building shared libraries with ifort the -nofor_main 
> flag is required. This could be the first fortran specific archive_cmds in 
> libtool.m4 :-/

Thanks for all your feedback.  While I have a vague idea now that I need
to change m4/libtool.m4 (_LT_LINKER_SHLIBS), I am not too firm with this
huge file yet.  Any help is greatly appreciated.

I did some more tests, notably on ia64-unknown-linux-gnu with the Intel
compiler set.  Here, the problem is just a tad bit worse.

First, quoting the compiler release notes:

|     Dynamic Shared Objects on Itanium Systems
|  
|    On Itanium systems, when the –shared switch is used to specify
| that a Dynamic Shared Object (.so) is to be created, ld may issue
| diagnostic messages referring to "@gprel relocation against dynamic
| symbol". To correct this problem, add the –i_dynamic and –nofor_main
| switches to the command line used to build the .so. A future version
| of Intel Fortran may set these options automatically when –shared is
| specified.

So we need to add -i_dynamic also while creating dynamic libraries.
Good thing is that -i_dynamic can safely be added on i386 as well,
and also to icc/icpc. (Adding -nofor_main to their command line will
evoke a warning, but not a failure; does that help?).

But we must not add -nofor_main to the command which links Fortran
programs (tests/f77demo/fprogram), because it will not find the main
then.

Note that also the other issue w.r.t icc (multiple -version-info) is
still unresolved, leading to mdemo-exec failures.

Regards,
Ralf




reply via email to

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