*** empty log message ***

This commit is contained in:
Gordon Matzigkeit 1997-07-25 17:11:35 +00:00 committed by Gordon Matzigkeit
parent decd84eb46
commit 5e3813fc28
7 changed files with 730 additions and 740 deletions

View File

@ -1,5 +1,19 @@
Fri Jul 25 10:13:49 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in (link): Remove code for `-version-file', since it
has been long-deprecated.
Disable static linking if hardcode_direct is unsupported.
* ltconfig.in: Fix typo in test polarity. From Mark Kettenis.
Thu Jul 24 10:42:30 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in (hardcode_direct): Set to `unsupported' if aix3 uses
a broken collect2. Adapted out of test results from Mark
Kettenis.
(link_static_flag): Make sure the link_static_flag actually works
with a trivial binary.
* ltmain.sh.in, ltconfig.in (export_dynamic_flag_spec): Renamed
from export_dynamic_flag because we eval it in ltmain.sh.

4
NEWS
View File

@ -6,8 +6,8 @@ New in 1.0a:
platforms, via new `-dlopen' and `-pre-dlopen' link flags.
* New tests for a BSD-compatible `nm' program, required for dlopened
modules.
* FIXME: Deleted `dlname' mode, now that the internal structure of `.la'
files is a public interface.
* Deleted `dlname' mode. Dlopen applications should only use the
runtime search method described in (libtool)Finding the dlname.
New in 1.0:
* Bug fixes.

View File

@ -60,13 +60,14 @@ helldl: $(helldl_OBJECTS) $(helldl_DEPENDENCIES)
hardcode: $(hardcode_tests)
hc-direct: $(hell_OBJECTS) $(hell_DEPENDENCIES)
@rm -f hc-direct
@echo "You may ignore any linking errors from the following command:"
@shlib=./.libs/libhello.a; \
eval "`egrep '^library_names' libhello.la`"; \
for lib in $$library_names; do \
shlib="./.libs/$$lib"; \
done; \
echo "$(CC) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$shlib $(LIBS)"; \
eval "$(CC) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$shlib $(LIBS)"
echo "$(CC) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$shlib $(LIBS) || echo unsupported > $@"; \
eval "$(CC) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$shlib $(LIBS) || echo unsupported > $@"
hc-minusL: $(hell_OBJECTS) $(hell_DEPENDENCIES)
@rm -f hc-minusL

View File

@ -130,7 +130,6 @@ Invoking @code{libtool}
* Compile mode:: Creating library object files.
* Link mode:: Generating executables and libraries.
* Dlname mode:: Obtaining a file name to @code{dlopen(3)}.
* Install mode:: Making libraries and executables public.
* Finish mode:: Completing a library installation.
* Uninstall mode:: Removing executables and libraries.
@ -183,7 +182,7 @@ The libtool test suite
* Test descriptions:: The contents of the test suite.
* When tests fail:: What to do when a test fails.
Maintainance notes for libtool
Maintenance notes for libtool
* New ports:: How to port libtool to new systems.
* Tested platforms:: When libtool was last tested.
@ -936,7 +935,6 @@ Print libtool version information and exit.
@menu
* Compile mode:: Creating library object files.
* Link mode:: Generating executables and libraries.
* Dlname mode:: Obtaining a file name to @code{dlopen(3)}.
* Install mode:: Making libraries and executables public.
* Finish mode:: Completing a library installation.
* Uninstall mode:: Removing executables and libraries.
@ -1029,22 +1027,6 @@ This method is often called @dfn{partial linking}.
Otherwise, an executable program is created.
@node Dlname mode
@section Dlname mode
@cindex Dlname mode
@cindex Mode, dlname
The @samp{dlname} mode simply prints the name of a libtool library that
can be passed to the @code{dlopen(3)} function call (@pxref{Dlopened
modules}).
Each of the @var{mode-args} specifies a libtool library linked
using the @samp{-export-dynamic} option (@pxref{Link mode}). The names
of the modules to load are printed to standard output, one per line.
If one of the @var{mode-args} was not linked with
@samp{-export-dynamic}, then an error is displayed.
@node Install mode
@section Install mode
@cindex Install mode
@ -1963,24 +1945,8 @@ After a library has been linked with @samp{-export-dynamic}, it can be
dlopened. Unfortunately, because of the variation in library names,
your package needs to determine the correct file to dlopen.
Dlname mode (@pxref{Dlname mode}) was designed for this purpose. It
returns the name that should be given as the first argument to a
@code{dlopen(3)} function call.
For example, on NetBSD 1.2:
@example
burger$ @kbd{libtool --mode=dlname libhello.la}
libhello.so.3.12
burger$
@end example
The trick is in finding a way to hardcode this name into your program at
compilation time, so that it opens the correct library.
An alternative implementation that avoids hardcoding is to determine the
name at runtime, by finding the installed @samp{.la} file, and searching
it for the following lines:
The basic implementation is to determine the name at runtime, by finding
the installed @samp{.la} file, and searching it for the following lines:
@example
# The name that we can @code{dlopen(3)}.
@ -2024,8 +1990,8 @@ family of functions. Some platforms do not even use the same function
names (notably HP-UX, with its @samp{shl_load(3)} family).
@item
It is the burden of the libtool user to find a way to get the results of
dlname mode (@pxref{Dlname mode}) into the call to @code{dlopen(3)}.
The application developer must write a custom search function in order
to discover the correct module filename to supply to @code{dlopen(3)}.
@end itemize
Each of these limitations will be addressed in GNU DLD
@ -2234,7 +2200,7 @@ Please include the generated @code{libtool} script with your bug report,
so that I can see what values @code{ltconfig} guessed for your system.
@node Maintaining
@chapter Maintainance notes for libtool
@chapter Maintenance notes for libtool
This chapter contains information that the libtool maintainer finds
important. It will be of no use to you unless you are considering

View File

@ -28,9 +28,9 @@ rs6000-ibm-aix3.2.5 gcc 0.9h ok*
sparc-sun-linux2.1.23 gcc 0.9h ok
sparc-sun-sunos4.1.4 cc 1.0 ok
sparc-sun-sunos4.1.4 gcc 1.0 ok
sparc-sun-solaris2.4 cc 0.9 ok
sparc-sun-solaris2.4 gcc 0.9 ok
sparc-sun-solaris2.5 cc 0.9 ok
sparc-sun-solaris2.4 cc 1.0a ok
sparc-sun-solaris2.4 gcc 1.0a ok
sparc-sun-solaris2.5 cc 1.0a ok
sparc-sun-solaris2.5 gcc 1.0a ok
--------------------------------------------------------

View File

@ -606,8 +606,9 @@ else
# Note: this linker hardcodes the directories in LIBPATH if there
# are no directories specified by -L.
hardcode_minus_L=yes
# Direct hardcoding is not supported with a broken collect2.
if test "$with_gcc" = yes && test -n "$link_static_flag"; then
if test "$with_gcc" = yes && test -z "$link_static_flag"; then
# Neither direct hardcoding nor static linking is supported with a
# broken collect2.
hardcode_direct=unsupported
fi
;;

File diff suppressed because it is too large Load Diff