libtool-patches
[Top][All Lists]
Advanced

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

Re: [PATCH] [cygwin|mingw] fix dlpreopen with --disable-static (take 7)


From: Charles Wilson
Subject: Re: [PATCH] [cygwin|mingw] fix dlpreopen with --disable-static (take 7)
Date: Sun, 04 Jul 2010 00:15:06 -0400
User-agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.23) Gecko/20090812 Thunderbird/2.0.0.23 Mnenhy/0.7.6.666

On 6/26/2010 2:51 PM, Ralf Wildenhues wrote:
> OK.  Here's my take on this: if you fix all nits I noted inline below,
> post the updated and tested patch (you decide what testing is needed),
> then you are OK to commit after 72 hours of waiting.  FWIW, I'm likely
> not available most of next week; if we find issues later, then I guess
> they'll just have to be fixed afterwards.

As discussed previously, this version fixes (almost) all of the noted
issues. I didn't change the eval stuff, deferring instead to Ralf's
promised patch to take care of all of that at once.

Test results (cygwin):

======================
All 122 tests passed
(2 tests were not run)
======================

 78: dlloader API                        FAILED (dlloader-api.at:422)
112: override pic_flag at configure time FAILED (pic_flag.at:48)

ERROR: 110 tests were run,
5 failed (3 expected failures).
6 tests were skipped.


78 is expected at this time (patch to fix it hasn't been pushed yet).
112 appears to be a new test, and is ELF specific (-fpic/-fPIC has no
meaning on cygwin).  It probably should be skipped.


So...this is what I intend to push, barring objections.

    [cygwin|mingw] fix dlpreopen with --disable-static

    * libltdl/config/general.m4sh (func_tr_sh): New function.
    * libltdl/config/ltmain.m4sh (func_generate_dlsyms) [cygwin|mingw]:
    Obtain DLL name corresponding to import library by using value
    stored in unique variable libfile_$(transliterated implib name).
    If that fails, use $sharedlib_from_linklib_cmd to extract DLL
    name from import library directly. Also, properly extract dlsyms
    from the import library.
    (func_mode_link) [cygwin|mingw]: Prefer to dlpreopen DLLs
    over static libs when both are available.  When dlpreopening
    DLLs, use linklib (that is, import lib) as dlpreopen file,
    rather than DLL. Store name of associated la file in
    unique variable libfile_$(transliterated implib name)
    for later use.
    (func_win32_libid): Accomodate pei-i386 import libs
    as well as pe-i386.
    (func_cygming_dll_for_implib): New function.
    (func_cygming_dll_for_implib_fallback): New function.
    (func_cygming_dll_for_implib_fallback_core): New function.
    (func_cygming_gnu_implib_p): New function.
    (func_cygming_ms_implib_p): New function.
    * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Adjust sed
    expressions for lt_cv_sys_global_symbol_to_c_name_address and
    lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
    as trailing space after module name is optional.
    (_LT_LINKER_SHLIBS) [cygwin|mingw][C++]:
    Set exclude_expsyms correctly for $host. Simplify regular
    expression in export_symbols_cmds.
    (_LT_LINKER_SHLIBS) [cygwin|mingw|pw32][C]: Set exclude_expsyms
    correctly for $host. Enable export_symbols_cmds to identify
    DATA exports by _nm_ prefix.
    (_LT_CHECK_SHAREDLIB_FROM_LINKLIB): New macro sets
    sharedlib_from_linklib_cmd variable.
    (_LT_DECL_DLLTOOL): New macro ensures DLLTOOL is always set.

--
Chuck

Attachment: 0009-cygwin-mingw-fix-dlpreopen-with-disable-static--take-7a.patch
Description: Source code patch


reply via email to

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