libtool-commit
[Top][All Lists]
Advanced

[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




reply via email to

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