patchGNU Libtool - Patches: patch #9313, _LT_SYS_DYNAMIC_LINKER: Untagged...


You are not allowed to post comments on this tracker with your current authentication level.

patch #9313: _LT_SYS_DYNAMIC_LINKER: Untagged variable values may be inconsistent across tags.

Submitted by:  Michael Haubenwallner <haubi>
Submitted on:  Thu 20 Apr 2017 02:25:04 PM UTC  
Category:  None Priority:  5 - Normal
Status:  None Privacy:  Public
Assigned to:  None Open/Closed:  Open

Tue 02 May 2017 11:47:22 AM UTC, comment #1:

On another thought:
Is is advised to configure libtool itself with F77=no and FC=no when these would be found by PATH search but are not msvc based ones?

Michael Haubenwallner <haubi>
Thu 20 Apr 2017 02:25:04 PM UTC, original submission:

Although _LT_SYS_DYNAMIC_LINKER does support the [TAG] argument, almost all of the variables it does set are untagged variables.

While untagged variables are (expected to be) defined using the "C" language compiler, their values apply for each other language (=tag) as well.

As _LT_SYS_DYNAMIC_LINKER is run for multiple tags, these untagged variables are redefined again for no good reason. While this is not a problem by itself, it is a needless slowdown for the configure script.

However, a problem does arise when their values change with different language compilers, for example when using MSVC cl.exe as the C compiler (with Cygwin as the POSIX system):

./configure CC=cl.exe CXX='cl.exe /TP' results in libname_spec='ltdl' for the empty tag, which is incorporated into LTDLOPEN, causing libltdl/ltdl.c to refer lt_ltdl__LTX_preloaded_symbols.

But subsequent checks for F77 and FC run _LT_SYS_DYNAMIC_LINKER with $cc_basename != "cl.exe", causing libname_spec='libltdl', which finally ends up in the libtool script, causing lt_libltdl__LTX_preloaded_symbols to be generated.
Note "libltdl" != "ltdl" in the symbol name.

The error message seen here is:

Michael Haubenwallner <haubi>


Attached Files
file #40450:  0001-check-dynamic-linker-characteristics-for-CC-only.patch added by haubi (3KiB - text/x-patch - Patch to set untagged variables in _LT_SYS_DYNAMIC_LINKER with the empty tag only.)


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by haubi (Submitted the item)

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.




    Follows 1 latest change.

    Date Changed by Updated Field Previous Value => Replaced by
    2017-04-20 haubi Attached File- => Added 0001-check-dynamic-linker-characteristics-for-CC-only.patch, #40450

    Back to the top

    Powered by Savane 3.3