[Top][All Lists]
[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
0009-cygwin-mingw-fix-dlpreopen-with-disable-static--take-7a.patch
Description: Source code patch
- Re: [PATCH] [cygwin|mingw] fix dlpreopen with --disable-static (take 7),
Charles Wilson <=