[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
libtool ChangeLog Makefile.am NEWS doc/libtool....
From: |
Gary V. Vaughan |
Subject: |
libtool ChangeLog Makefile.am NEWS doc/libtool.... |
Date: |
Tue, 08 May 2007 14:38:50 +0000 |
CVSROOT: /sources/libtool
Module name: libtool
Changes by: Gary V. Vaughan <gary> 07/05/08 14:38:50
Modified files:
. : ChangeLog Makefile.am NEWS
doc : libtool.texi
libltdl : ltdl.c ltdl.h
libltdl/libltdl: lt__private.h lt_dlloader.h lt_error.h
libltdl/loaders: dld_link.c dlopen.c dyld.c load_add_on.c
loadlibrary.c preopen.c shl_load.c
Log message:
Without this patch, lt_dlopen always opens modules with symbol
visibility set according to the underlying implementation.
Here, we add lt_dlopenadvise() to allow callers to request,
among other things, local or global symbol visibility from the
underlying dlloader:
* libltdl/ltdl.c (LT_DLRESIDENT_FLAG): Removed.
(LT_DLIS_RESIDENT): Use public is_resident info field.
(LT_DLIS_SYMLOCAL, LT_DLIS_SYMGLOBAL): New macros to test for
module symbol visibility status.
(tryall_dlopen): If vtable->module_open() was able to act on
either is_symlocal or is_symglobal hints, store that in
the handle flags.
(lt_dlopenadvise): New function that works like lt_dlopen(),
but accepts an advise type to determine whether to ask
dlloaders to change default symbol visibility.
(lt_dlopen, lt_dlopenext): Just call lt_dlopenadvise() with
the correct parameters.
(lt_dladvise_init, lt_dladvise_destroy): New functions to
initialize and destroy an advise type hint.
(lt_dladvise_ext, lt_dladvise_resident, lt_dladvise_local)
(lt_dladvise_global): Set hints on an advise type.
(openadvise): Factored out of lt_dlopenadvise.
(has_library_ext): Factored out of lt_dlopenadvise.
* libltdl/ltdl.h: Declare all of the above.
(lt_dlinfo): New fields for advise hints.
* libltdl/libltdl/lt_dlloader.h (lt_module_open): Add a new
advise parameter. Adjust all callers.
(lt_dladvise): New opaque type for advise hints.
* libltdl/libltdl/lt__private.h (lt__advise): Declare
contents of opaque lt_dladvise type.
* libltdl/libltdl/lt_error.h (CONFLICTING_FLAGS): New error
for attempts to have local and global symbol visibility at the
same time.
* libltdl/loaders/dld_link.c, libltdl/loaders/dyld.c,
libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c,
libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c: Adjust.
* libltdl/loaders/dlopen.c (RTLD_LOCAL, RTLD_GLOBAL): Try to
define these symbols if the system has equivalents.
(vmopen): If unable to act on a caller request to set symbol
visibility, then unset the relevant hints in the advise type.
* tests/lt_dladvise.at: New tests for the above.
* doc/libtool.texi (Libltdl Interface): Updated.
* NEWS: Updated.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/libtool/ChangeLog?cvsroot=libtool&r1=1.2455&r2=1.2456
http://cvs.savannah.gnu.org/viewcvs/libtool/Makefile.am?cvsroot=libtool&r1=1.219&r2=1.220
http://cvs.savannah.gnu.org/viewcvs/libtool/NEWS?cvsroot=libtool&r1=1.203&r2=1.204
http://cvs.savannah.gnu.org/viewcvs/libtool/doc/libtool.texi?cvsroot=libtool&r1=1.227&r2=1.228
http://cvs.savannah.gnu.org/viewcvs/libtool/libltdl/ltdl.c?cvsroot=libtool&r1=1.248&r2=1.249
http://cvs.savannah.gnu.org/viewcvs/libtool/libltdl/ltdl.h?cvsroot=libtool&r1=1.84&r2=1.85
http://cvs.savannah.gnu.org/viewcvs/libtool/libltdl/libltdl/lt__private.h?cvsroot=libtool&r1=1.13&r2=1.14
http://cvs.savannah.gnu.org/viewcvs/libtool/libltdl/libltdl/lt_dlloader.h?cvsroot=libtool&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/libtool/libltdl/libltdl/lt_error.h?cvsroot=libtool&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/libtool/libltdl/loaders/dld_link.c?cvsroot=libtool&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/libtool/libltdl/loaders/dlopen.c?cvsroot=libtool&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/libtool/libltdl/loaders/dyld.c?cvsroot=libtool&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/libtool/libltdl/loaders/load_add_on.c?cvsroot=libtool&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/libtool/libltdl/loaders/loadlibrary.c?cvsroot=libtool&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/libtool/libltdl/loaders/preopen.c?cvsroot=libtool&r1=1.12&r2=1.13
http://cvs.savannah.gnu.org/viewcvs/libtool/libltdl/loaders/shl_load.c?cvsroot=libtool&r1=1.9&r2=1.10
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- libtool ChangeLog Makefile.am NEWS doc/libtool....,
Gary V. Vaughan <=