libtool/m4
Peter Rosin 34fe402efa libtool: add @INIT@ to the preloader, for data imports on Windows
* m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) [dumpbin]: Adjust
lt_cv_sys_global_symbol_to_cdecl so that it declares imported
data symbols as __declspec(dllimport). Adjust
lt_cv_sys_global_symbol_to_c_name_address and
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix so that they
fill in "(void*) 0" for imported data symbols. Add new
lt_cv_sys_global_symbol_to_import which finds imported data
symbols if non-empty and export this variable to the libtool script
in the global_symbol_to_import variable. Adjust
lt_cv_sys_global_symbol_pipe so that data imports can be located.
* build-aux/ltmain.in (func_generate_dlsyms): When data imports
are present, as indicated by global_symbol_to_import, generate
a relocation function lt_syminit that fills in the addresses
of data imports at runtime and point to the new function with a
new virtual @INIT@ entry in the symbol list.
* libltdl/loaders/preopen.c (add_symlist): Look for the virtual
@INIT@ symbol (i.e. lt_syminit) and call it.
(vm_sym): Step past the @INIT@ symbol, if present.
* tests/demo.at (dlmain.c): Call the @INIT@ symbol, if present.
* NEWS: Update.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2012-11-02 23:50:43 +01:00
..
.gitignore libtoolize: rename libltdl/m4' directory to standard m4'. 2011-11-17 17:51:14 +07:00
argz.m4 syntax-check: fix violations and implement sc_old_style_quoting. 2012-10-22 00:01:13 +07:00
autobuild.m4 maint: run update-copyright for missing 2011 and 2012 years. 2012-10-02 21:05:50 +07:00
libtool.m4 libtool: add @INIT@ to the preloader, for data imports on Windows 2012-11-02 23:50:43 +01:00
lt~obsolete.m4 maint: run update-copyright for missing 2011 and 2012 years. 2012-10-02 21:05:50 +07:00
ltdl.m4 syntax-check: fix violations and implement sc_old_style_quoting. 2012-10-22 00:01:13 +07:00
ltoptions.m4 configury: make LT_INIT options pic-only and no-pic work. 2012-10-22 14:53:23 +07:00
ltsugar.m4 syntax-check: fix violations and implement sc_old_style_quoting. 2012-10-22 00:01:13 +07:00
ltversion.in maint: run update-copyright for missing 2011 and 2012 years. 2012-10-02 21:05:50 +07:00