Commit Graph

273 Commits

Author SHA1 Message Date
Bob Friesenhahn
e91f7b9600 Don't load module.la from current directory by default.
* libltdl/ltdl.c (try_dlopen): Do not attempt to load an
unqualified module.la file from the current directory (by
default) since doing so is insecure and is not compliant with
the documentation.
* tests/testsuite.at: Qualify access to module.la file in
current directory so that test passes.
2009-11-15 20:50:02 -06:00
Peter O'Gorman
3580cddcea Only use preopen loader to load preopened archives
* libltdl/ltdl.c: Limit checking of .a to preopen loader.
* tests/lt_dlopen_a.at: Add test.
* Makefile.am: Add test.
2009-11-15 20:49:55 -06:00
Eric Blake
eae9d5832f Allow gcc builds with -Wall -Werror.
* libltdl/ltdl.c (try_dlopen): Use strlen rather than LT_STRLEN on
an array that will never be NULL.

Signed-off-by: Eric Blake <ebb9@byu.net>
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-11-02 20:08:17 -07:00
Kurt Roeckx
a23b561d44 lt_dlopenext sets error upon successful library load.
* libltdl/ltdl.c (lt_dlopenadvise): Fix bogus error on
successful loading of library with lt_dlopenext.
Report by Kaiwang Chen in <http://bugs.debian.org/510006>.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-02-03 08:02:23 +01:00
Peter O'Gorman
a05d258b4c Allow for extensions other than .a for preloaded modules.
* libltdl/m4/ltdl.m4 (_LTDL_SETUP): Define LT_LIBEXT.
* libltdl/ltdl.c (lt_dladvise_preload): Use it.
Reported by Ralf Wildenhues.
2008-08-26 12:42:53 -05:00
Gary V. Vaughan
2c769d10a2 Implement lt_dlopening of only preloaded modules.
* libltdl/m4/ltdl.m4 (LTDL_INIT): Check for a libltdl that
provides lt_dladvise_preopen when deciding if installed libltdl
is 'new enough'.
* libltdl/libltdl/lt__private.h (lt__advise): Add a new
is_preload flag.
* libltdl/ltdl.c (lt_dladvise_preload): New api call to set it.
(try_dlopen): If it is set, and the search of preloaded modules
didn't return a match, don't bother searching the filesystem.
* libltdl/ltdl.h (lt_dladvise_preload): Declare it.
* doc/libtool.texi (Libltdl Interface): Document it.
* tests/lt_dladvise.at: Test it (and incidentally add some test
coverage for `libtool -dlpreopen').
* NEWS: Announce it.
2008-08-01 13:12:29 +07:00
Eric Blake
fe9c6440a3 Fix bug in 2008-04-21 type improvements.
* libltdl/ltdl.c (load_deplibs): Fix casting bug.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-04-24 10:24:24 -06:00
Gary V. Vaughan
7b707dae15 Allow better compile time type checking for lt_dladvise.
* libltdl/lt__private.h (lt__handle, lt__advise): Typedefs
removed in favour of...
* libltdl/ltdl.h (lt_dlhandle),
libltdl/libltdl/lt_dlloader.h (lt_dladvise): ...changing from
void* to forward declarations.
* libltdl/loaders/dlopen.c, libltdl/loaders/loadlibrary.c,
libltdl/lt_dlloader.c, libltdl/ltdl.c: Remove many redundant
type casts.
* NEWS: Updated.
Suggested by Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
2008-04-22 02:37:52 -04:00
Eric Blake
22204a9ff8 * libltdl/ltdl.c (lt_dlcaller_get_data): Work even when no caller
has set data.
2007-09-05 14:48:54 +00:00
Ralf Wildenhues
6621aa6b9b * doc/libtool.texi (User defined module data)
<lt_dlinterface_register>: Document that a NULL place matches
all modules.
* libltdl/lt_dlloader.c (lt_dlloader_remove): Actually iterate
over all open modules when looking for modules that use it.
If a resident module is found, return but do not set the error
string.
* libltdl/ltdl.c (lt_dlexit): When removing dlloaders, ignore
errors that stem from earlier failed commands.  Exposed by the
lt_dladvise test.
Fixes regression over branch-1-5.
Memleak report as Coverity CID 19 via Jeff Squyres.
2007-09-04 18:01:33 +00:00
Ralf Wildenhues
4fd2348691 * libltdl/ltdl.c (trim): Fix possible write beyond array bound. 2007-09-01 10:49:19 +00:00
Ralf Wildenhues
361ec0ead5 * libltdl/ltdl.c (lt_dlopenadvise): Instead of asserting, return
FILE_NOT_FOUND if the filename is "".
2007-09-01 10:43:28 +00:00
Ralf Wildenhues
86a2c620c8 * libltdl/ltdl.c (try_dlopen): Fix computation of extension,
avoids subtracting pointer from NULL pointer.
2007-09-01 10:42:34 +00:00
Ralf Wildenhues
8dbd989470 * libltdl/ltdl.c (try_dlopen, lt_dlforeachfile): Do not test
array address of sys_dlsearch_path against NULL, rather test for
nonempty contents.
Coverity reports CID 148 and CID 149 via Jeff Squyres.
2007-09-01 08:13:20 +00:00
Ralf Wildenhues
fbbe0e88e4 * libltdl/ltdl.c (tryall_dlopen_module): Fix string length
computation: do not allocate more than needed.
2007-09-01 08:10:02 +00:00
Ralf Wildenhues
f7b428d2d9 * libltdl/ltdl.c (parse_dotla_file): If we run out of memory,
do not close the .la file twice.
Coverity report CID 440 via Jeff Squyres.
2007-08-30 18:23:24 +00:00
Ralf Wildenhues
56e12a2db6 * libltdl/ltdl.c (has_library_ext): Remove dead code.
Coverity report CID 561 against Open MPI via Jeff Squyres.
2007-08-30 18:18:31 +00:00
Dirk Mueller
f5df807204 * libltdl/ltdl.c (parse_dotla_file): Avoid a strlen. When
reading .la files, cope with files that are not
newline-terminated.
2007-08-15 21:38:31 +00:00
Ralf Wildenhues
2e54f75846 * libltdl/ltdl.c (try_dlopen): Use `attempt' rather than
`filename', as the former has the needed extension when called
by lt_dlopenext.
Report by Brian Barrett.
2007-08-05 11:06:14 +00:00
Bob Friesenhahn
7429314926 * libltdl/lt__alloc.c, libltdl/loaders/preopen.c,
libltdl/loaders/dyld.c, libltdl/loaders/dlopen.c, libltdl/ltdl.c,
libltdl/lt_error.c, libltdl/lt_dlloader.c, libltdl/lt__dirent.c:
Include lt__private.h prior to any system headers.
* libltdl/lt__alloc.c: Remove redundant inclusion of configuration
header.
2007-07-04 23:05:05 +00:00
Eric Blake
59bc6b59d0 * libltdl/ltdl.c (advise_dup): Delete function no longer used
after memleak fix three days ago.
2007-07-04 21:28:00 +00:00
Ralf Wildenhues
3679372cbb * libltdl/ltdl.c (tryall_dlopen): Rename argument to have typed
alias of `advise' instead of allocating a copy.  Fixes memleak.
2007-07-01 06:12:46 +00:00
Gary V. Vaughan
a894e3baee Add a test to simulate a failure visible on systems which
need a library prefix like 'lib', such as BeOS.  Fix a number
of bugs exposed by this test in order for it to pass.
Currently the prefix is hardcoded as 'lib', as I am not aware
of systems that require a different prefix:

* libltdl/loaders/preopen.c (lt_dlpreload_open):  Move error
condition out of test loop to be sure that each originator is
tried, instead of erroring out if the first doesn't match.
Support passing NULL as the originator to load all preloaded
modules originating in the program itself.
* libltdl/lt_dlloader.c (lt_dlloader_dump): New debug function.
* libltdl/libltdl/lt_dlloader.h (lt_dlloader_dump): Declare it
when LT_DEBUG_LOADERS is defined at compile time.
* libltdl/ltdl.c (lt_dlinit): Dump loader list after successful
initialisation.
(tryall_dlopen): Add a new VTABLE parameter to force use of a
specific loader in preference to trying every loader in turn.
Adjust all callers.
(try_dlopen): Always see whether a module was preloaded for
module names with no directory component before searching the
filesystem for a match.
* libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Declare
a new global_symbol_to_c_name_address_lib_prefix variable.
(global_symbol_to_c_name_address_lib_prefix): The sed
expressions to use when a lib prefix is enforced need to be
slightly different to work with preloaded modules.
* libltdl/config/ltmain.m4sh (func_generate_dlsyms): In order
to name preloaded symbols correctly for the lookup algorithm
to work when the loaded module file must be prefixed with lib.
Use global_symbol_to_c_name_address_lib_prefix when
need_lib_prefix is other than no.
* tests/need_lib_prefix.at: New test to check for breakage on
hosts where need_lib_prefix is unknown.
* Makefile.am (TESTSUITE_AT): Add new test.
* tests/TODO: Note missing tests that would have caught some
of the latent bugs fixed by this patch.
* HACKING: Document libltdl keyword.
* NEWS: Updated.
2007-06-24 20:46:47 +00:00
Gary V. Vaughan
e6e96742ef Reenable compilation of libltdl with C++:
* libltdl/ltdl.c (tryall_dlopen): Rename the try variable to
attempt, and cast explicitly.
(advise_dup): Add explicit cast.
2007-06-24 19:05:46 +00:00
Gary V. Vaughan
c823c708c8 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.
2007-05-08 14:38:50 +00:00
Gary V. Vaughan
56c08a521e * HACKING (Licensing Rules): Explain the various license texts
used for files distributed with Libtool, and update license text
to match.
* Makefile.am, Makefile.maint README, README.alpha, THANKS, TODO,
bootstrap, clcommit.m4sh, configure.ac, libltdl/Makefile.inc,
libltdl/README, libltdl/argz.c, libltdl/argz_.h,
libltdl/config/general.m4sh, libltdl/config/getopt.m4sh,
libltdl/config/ltmain.m4sh, libltdl/config/mailnotify.m4sh,
libltdl/config/mkstamp, libltdl/configure.ac,
libltdl/libltdl/lt__alloc.h, libltdl/libltdl/lt__dirent.h,
libltdl/libltdl/lt__glibc.h, libltdl/libltdl/lt__private.h,
libltdl/libltdl/lt__strl.h, libltdl/libltdl/lt_dlloader.h,
libltdl/libltdl/lt_error.h, libltdl/libltdl/lt_system.h,
libltdl/libltdl/slist.h, libltdl/loaders/dld_link.c,
libltdl/loaders/dlopen.c, libltdl/loaders/dyld.c,
libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c,
libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c,
libltdl/lt__alloc.c, libltdl/lt__dirent.c, libltdl/lt__strl.c,
libltdl/lt_dlloader.c, libltdl/lt_error.c, libltdl/ltdl.c,
libltdl/ltdl.h, libltdl/m4/argz.m4, libltdl/m4/libtool.m4,
libltdl/m4/ltdl.m4, libltdl/m4/ltoptions.m4,
libltdl/m4/ltsugar.m4, libltdl/m4/ltversion.in,
Jlibltdl/m4/ltversion.m4, libltdl/m4/lt~obsolete.m4,
libltdl/slist.c, libtoolize.m4sh, tests/am-subdir.at,
tests/cdemo-conf.test, tests/cdemo-exec.test,
tests/cdemo-make.test, tests/cdemo-shared.test,
tests/cdemo-static.test, tests/cdemo-undef.test,
tests/cdemo/Makefile.am, tests/cdemo/configure.ac,
tests/cdemo/foo.c, tests/cdemo/foo.h, tests/cdemo/main.c,
tests/cmdline_wrap.at, tests/convenience.at, tests/defs.m4sh,
tests/demo-conf.test, tests/demo-deplibs.test,
tests/demo-exec.test, tests/demo-hardcode.test,
tests/demo-inst.test, tests/demo-make.test,
tests/demo-nofast.test, tests/demo-noinst-link.test,
tests/demo-nopic.test, tests/demo-pic.test,
tests/demo-relink.test, tests/demo-shared.test,
tests/demo-static.test, tests/demo-unst.test,
tests/demo/Makefile.am, tests/demo/configure.ac,
tests/demo/dlmain.c, tests/demo/foo.c,
tests/demo/foo.h, tests/demo/hell1.c, tests/demo/hell2.c,
tests/demo/hello.c, tests/demo/main.c,
tests/depdemo-conf.test, tests/depdemo-exec.test,
tests/depdemo-inst.test, tests/depdemo-make.test,
tests/depdemo-nofast.test, tests/depdemo-relink.test,
tests/depdemo-shared.test, tests/depdemo-static.test,
tests/depdemo-unst.test, tests/depdemo/Makefile.am,
tests/depdemo/configure.ac, tests/depdemo/l1/Makefile.am,
tests/depdemo/l1/l1.c, tests/depdemo/l1/l1.h,
tests/depdemo/l2/Makefile.am, tests/depdemo/l2/l2.c,
tests/depdemo/l2/l2.h, tests/depdemo/l3/Makefile.am,
tests/depdemo/l3/l3.c, tests/depdemo/l3/l3.h,
tests/depdemo/l4/Makefile.am, tests/depdemo/l4/l4.c,
tests/depdemo/l4/l4.h, tests/depdemo/main.c,
tests/depdemo/sysdep.h, tests/deplibs-ident.at,
tests/destdir.at, tests/duplicate_conv.at,
tests/duplicate_deps.at, tests/duplicate_members.at,
tests/early-libtool.at, tests/export.at,
tests/f77demo-conf.test, tests/f77demo-exec.test,
tests/f77demo-make.test, tests/f77demo-shared.test,
tests/f77demo-static.test, tests/f77demo/Makefile.am,
tests/f77demo/configure.ac, tests/f77demo/cprogram.c,
tests/f77demo/foo.h, tests/f77demo/fooc.c,
tests/fail.at, tests/fcdemo-conf.test, tests/fcdemo-exec.test,
tests/fcdemo-make.test, tests/fcdemo-shared.test,
tests/fcdemo-static.test, tests/fcdemo/Makefile.am,
tests/fcdemo/configure.ac, tests/fcdemo/cprogram.c,
tests/fcdemo/foo.h, tests/fcdemo/fooc.c,
tests/inherited_flags.at, tests/libtoolize.at,
tests/link-2.test, tests/link-order.at, tests/link-order2.at,
tests/link.test, tests/lt_dlexit.at, tests/mdemo-conf.test,
tests/mdemo-dryrun.test, tests/mdemo-exec.test,
tests/mdemo-inst.test, tests/mdemo-make.test,
tests/mdemo-shared.test, tests/mdemo-static.test,
tests/mdemo-unst.test, tests/mdemo/Makefile.am,
tests/mdemo/configure.ac, tests/mdemo/foo.h, tests/mdemo/foo1.c,
tests/mdemo/foo2.c, tests/mdemo/main.c, tests/mdemo/mlib.c,
tests/mdemo/sub.c, tests/mdemo2-conf.test,
tests/mdemo2-exec.test, tests/mdemo2-make.test,
tests/mdemo2/Makefile.am, tests/mdemo2/configure.ac,
tests/mdemo2/main.c, tests/nomode.test, tests/nonrecursive.at,
tests/objectlist.test, tests/old-m4-iface.at,
tests/pdemo-conf.test, tests/pdemo-exec.test,
tests/pdemo-inst.test, tests/pdemo-make.test,
tests/pdemo/Makefile.am, tests/pdemo/configure.ac,
tests/pdemo/foo.h, tests/pdemo/longer_file_name_dlmain.c,
tests/pdemo/longer_file_name_foo.c,
tests/pdemo/longer_file_name_foo2.c,
tests/pdemo/longer_file_name_hell1.c,
tests/pdemo/longer_file_name_hell2.c,
tests/pdemo/longer_file_name_hello.c,
tests/pdemo/longer_file_name_main.c, tests/quote.test,
tests/recursive.at, tests/search-path.at, tests/sh.test,
tests/shlibpath.at, tests/standalone.at, tests/static.at,
tests/stresstest.at, tests/subproject.at, tests/suffix.test,
tests/tagdemo-conf.test, tests/tagdemo-exec.test,
tests/tagdemo-make.test, tests/tagdemo-shared.test,
tests/tagdemo-static.test, tests/tagdemo-undef.test,
tests/tagdemo/Makefile.am, tests/tagdemo/baz.cpp,
tests/tagdemo/baz.h, tests/tagdemo/configure.ac,
tests/tagdemo/conv.cpp, tests/tagdemo/conv.h,
tests/tagdemo/foo.cpp, tests/tagdemo/foo.h,
tests/tagdemo/main.cpp, tests/tagtrace.test,
tests/template.at, tests/testsuite.at: Apply correct license
text according to the new rules set out in HACKING.
2007-03-25 12:12:44 +00:00
Ralf Wildenhues
713a03c4de * libltdl/ltdl.c (lt_dlexit): Add casts to fix compilation with
C++ compiler again.
2007-02-06 19:00:50 +00:00
Dave Brolley
afa7deb340 * libltdl/ltdl.c (lt_dlexit): Make sure that 'cur' is not NULL
before checking that it is still in the list.
* tests/lt_dlexit.at: New test.
* Makefile.am (TESTSUITE_AT): Adjust.
(check-local): Also depend on libltdl/libltdlc.la.
(check-recursive): Removed, unnecessary use of Automake
internals.
2007-01-28 14:55:01 +00:00
Eric Blake
65e173f8cb * libltdl/ltdl.c (load_deplibs): Avoid memory leak on failure.
(unload_deplibs): Avoid memory leak on cleanup.
2006-10-13 14:11:18 +00:00
Ralf Wildenhues
6ae279553a * libltdl/ltdl.c: Move LT__UNUSED before parameter name, for g++
3.2.3 (on MinGW).
* libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c,
libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c,
libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c: Likewise.
2006-09-04 17:43:37 +00:00
George Bosilca
8a17ccd68d Make libltdl work when compiled with a C++ compiler.
* libltdl/lt__alloc.c, libltdl/lt_dlloader.c, libltdl/ltdl.c,
libltdl/slist.c, libltdl/libltdl/lt__alloc.h,
libltdl/libltdl/lt_error.h, libltdl/libltdl/slist.h,
libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c,
libltdl/loaders/dyld.c, libltdl/loaders/load_add_on.c,
libltdl/loaders/loadlibrary.c, libltdl/loaders/preopen.c,
libltdl/loaders/shl_load.c, tests/stresstest.at,
tests/testsuite.at, tests/f77demo/foo.h, tests/fcdemo/foo.h,
tests/mdemo/foo.h, tests/mdemo/foo1.c, tests/mdemo/foo2.c,
tests/mdemo/main.c: Allow sources to be compiled by a C++
compiler: Cast appropriately, add C linkage for `get_vtable'
functions, do not use C++ keyword `delete'.
2006-09-04 17:27:27 +00:00
Ralf Wildenhues
833a91c5bf Avoid mixing functions and data pointers in callback functions.
* libltdl/ltdl.c (file_worker_func): New type.
(lt_dlforeachfile): Instead of passing a function pointer as a
data pointer, pass a pointer to a file_worker_func pointer.
(foreach_callback_func): Adjust.
* tests/mdemo/main.c: Assume C89. Exercise lt_dlforeachfile.
(callback, try_iterate, my_dirname): New functions.
* tests/mdemo-exec.test: Check for its output.
2006-08-31 05:34:01 +00:00
Ralf Wildenhues
673d0f40fe * libltdl/libltdl/lt__private.h (__attribute__, LT__UNUSED):
New macros.
* libltdl/loaders/dld_link.c: Use LT__UNUSED where
appropriate.
* libltdl/loaders/dlopen.c, libltdl/loaders/load_add_on.c,
libltdl/loaders/loadlibrary.c, libltdl/loaders/preopen.c,
libltdl/loaders/shl_load.c: Likewise.
* libltdl/ltdl.c: Likewise.
(find_file_callback): Fix declaration names to match definition.
(load_deplibs) [!LTDL_DLOPEN_DEPLIBS]: Use separate definition
for less preprocessor clutter.
2006-08-30 04:14:21 +00:00
Eric Blake
4704053cac * libltdl/ltdl.c (loader_init_callback) [HAVE_LIBDLLOADER]:
Protect definition to avoid compiler warnings about unused
function.
2006-07-22 20:34:06 +00:00
Gary V. Vaughan
064b392296 * libltdl/ltdl.c (lt_dlhandle_fetch): Arguments to
lt_dlhandle_iterate were in the wrong order.
2006-05-17 23:12:07 +00:00
Eric Blake
a0d0a9adc0 * libltdl/ltdl.h, libltdl/ltdl.c (lt_dlinterface_free): New
function.
* doc/libtool.texi (User defined module data): Document it.
2005-11-25 18:42:28 +00:00
Eric Blake
67e7c9e8e1 * libltdl/ltdl.c (lt_dlhandle_iterate): Fix endless loop.
(lt_dlinterface_register): Fail if lt__strdup did.
2005-11-13 21:59:54 +00:00
Gary V. Vaughan
04edc7871c * libltdl/ltdl.h, libltdl/ltdl.c (lt_dlhandle_first): Removed.
* libltdl/ltdl.h, libltdl/ltdl.c (lt_dlhandle_next)
(lt_dlhandle_find, lt_dlforeach): Removed...
(lt_dlhandle_iterate, lt_dlhandle_fetch, lt_dlhandle_map): Similar
functions that are multi-loader safe, and require a registered
interface validator argument.
* doc/libtool.texi: Updated.
* NEWS: Updated.
2005-10-26 10:26:48 +00:00
Peter O'Gorman
2dcd12a856 * libltdl/ltdl.c (find_module): Check that dir is set.
(load_deplibs): Don't free the user search paths too early.
2005-10-13 04:48:36 +00:00
Gary V. Vaughan
6db2a8ba58 * libltdl/ltdl.h (lt_dlmutex_register, lt_dlmutex_lock)
(lt_dlmutex_unlock, lt_dlmutex_seterror, lt_dlmutex_geterror)
(lt_dlmalloc, lt_dlrealloc, lt_dlfree): Remove deprecated APIs.
* doc/libtool.tex: Updated.
* NEWS: Updated.
2005-09-27 10:41:07 +00:00
Gary V. Vaughan
9d4089fbbb * libltdl/ltdl.c (lt_dlcaller_register): Renamed to avoid problems
with module visibilty when linked with programs written for the
old API.
(lt_dlinterface_register): New name.
* Makefile.am (VERSION_INFO): Bumped.
* doc/libtool.texi (User defined module data): Updated.
2005-09-27 10:03:51 +00:00
Ralf Wildenhues
8b84089a97 * libltdl/ltdl.c (lt_argz_insert): Work around newlib
argz_insert bug.
* Makefile.am (VERSION_INFO): Bumped revision.
Reported by Eric Blake <ebb9@byu.net>.
2005-09-14 16:03:35 +00:00
Peter Ekberg
32580388c3 * libltdl/ltdl.c: The linker is confused by having one
definition of lt_libltdlc_LTX_preloaded_symbols tagged with
__declspec(dllexport) in ltdl.c and one definition with an
initial value in libltdlcS.c. So, just say extern in ltdl.c.
Fixes the mdemo-exec.test for MinGW.
2005-07-28 10:01:03 +00:00
Gary V. Vaughan
94cc58be06 The FSF are moving offices today. Changed their contact address
in all files from `59 Temple Place, Suite 330, MA 02111-1307' to
`51 Franklin Street, Fifth Floor, MA 02110-1301'.
2005-04-22 10:10:31 +00:00
Ralf Wildenhues
c8d9340618 * libltdl/ltdl.c: Whitespace cleanup. 2005-01-13 14:48:00 +00:00
Ralf Wildenhues
445285d9a3 * libltdl/ltdl.c (trim): Return error rather than do bogus
null pointer arithmetic when parsing a malformed .la file.
2004-12-16 12:00:09 +00:00
Ralf Wildenhues
5272d7fb5e * libltdl/ltdl.c (trim): Use memcpy instead of strncpy here, to
avoid problems with non-conforming strncpy.  This is safe here.
2004-11-29 21:06:24 +00:00
Ralf Wildenhues
60fbf440cb * m4/ltdl.m4 (LT_LIB_DLLOAD): Define HAVE_LIBDLLOADER if we
have a dlloader to preload.
* libltdl/ltdl.c (lt_dlinit): Only preload if HAVE_LIBDLLOADER, only
declare preloaded_symbols then.  Fixes libltdl on static platforms.
* NEWS: Updated.
2004-11-29 21:00:20 +00:00
Ralf Wildenhues
4d4230a3a6 * libtldl/ltdl.c (parse_dotla_file): Fix memleak. 2004-11-03 14:13:24 +00:00
Ralf Wildenhues
cfd90b5373 * libltdl/ltdl.c (loader_init_callback): Back out broken cast. 2004-11-01 14:04:29 +00:00