mirror of git://gcc.gnu.org/git/gcc.git
ltconfig: Define file_list_spec.
* ltconfig: Define file_list_spec. Pass file_list_spec and with_gnu_ld to libtool. * ltcf-c.sh (aix[45]): Define file_list_spec. * ltcf-cxx.sh (aix[45]): Same. * ltcf-gcj.sh (aix[45]): Same. * ltmain.sh: If command exceeds max_cmd_len and file_list_spec exists, write list of input files to temporary file. From-SVN: r99268
This commit is contained in:
parent
c54c732251
commit
c9392a2bf8
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
|||
2005-05-05 David Edelsohn <edelsohn@gnu.org>
|
||||
|
||||
* ltconfig: Define file_list_spec. Pass file_list_spec and
|
||||
with_gnu_ld to libtool.
|
||||
* ltcf-c.sh (aix[45]): Define file_list_spec.
|
||||
* ltcf-cxx.sh (aix[45]): Same.
|
||||
* ltcf-gcj.sh (aix[45]): Same.
|
||||
* ltmain.sh: If command exceeds max_cmd_len and file_list_spec
|
||||
exists, write list of input files to temporary file.
|
||||
|
||||
2005-05-04 Mike Stump <mrs@apple.com>
|
||||
|
||||
* configure.in: Always pass --target to target configures as
|
||||
|
|
|
@ -267,6 +267,7 @@ else
|
|||
hardcode_direct=yes
|
||||
hardcode_libdir_separator=':'
|
||||
link_all_deplibs=yes
|
||||
file_list_spec='${wl}-f,'
|
||||
# When large executables or shared objects are built, AIX ld can
|
||||
# have problems creating the table of contents. If linking a library
|
||||
# or program results in "error TOC overflow" add -mminimal-toc to
|
||||
|
|
|
@ -128,6 +128,7 @@ case $host_os in
|
|||
hardcode_direct=yes
|
||||
hardcode_libdir_separator=':'
|
||||
link_all_deplibs=yes
|
||||
file_list_spec='${wl}-f,'
|
||||
# When large executables or shared objects are built, AIX ld can
|
||||
# have problems creating the table of contents. If linking a library
|
||||
# or program results in "error TOC overflow" add -mminimal-toc to
|
||||
|
|
|
@ -266,6 +266,7 @@ else
|
|||
hardcode_direct=yes
|
||||
hardcode_libdir_separator=':'
|
||||
link_all_deplibs=yes
|
||||
file_list_spec='${wl}-f,'
|
||||
# When large executables or shared objects are built, AIX ld can
|
||||
# have problems creating the table of contents. If linking a library
|
||||
# or program results in "error TOC overflow" add -mminimal-toc to
|
||||
|
|
9
ltconfig
9
ltconfig
|
@ -266,6 +266,7 @@ exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
|
|||
# rely on this symbol name, it's probably fine to never include it in
|
||||
# preloaded symbol tables.
|
||||
extract_expsyms_cmds=
|
||||
file_list_spec=
|
||||
|
||||
## Tools:
|
||||
old_AR="$AR"
|
||||
|
@ -2164,7 +2165,7 @@ case $ltmain in
|
|||
finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \
|
||||
hardcode_libdir_flag_spec hardcode_libdir_separator \
|
||||
sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
|
||||
compiler_c_o need_locks exclude_expsyms include_expsyms; do
|
||||
compiler_c_o need_locks exclude_expsyms include_expsyms file_list_spec; do
|
||||
|
||||
case $var in
|
||||
reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \
|
||||
|
@ -2557,6 +2558,12 @@ exclude_expsyms=$exclude_expsyms
|
|||
# Symbols that must always be exported.
|
||||
include_expsyms=$include_expsyms
|
||||
|
||||
# Specify filename containing input files.
|
||||
file_list_spec=$file_list_spec
|
||||
|
||||
# with_gnu_ld value
|
||||
with_gnu_ld=$with_gnu_ld
|
||||
|
||||
EOF
|
||||
|
||||
if test -z "$tagname"; then
|
||||
|
|
26
ltmain.sh
26
ltmain.sh
|
@ -3272,7 +3272,6 @@ EOF
|
|||
:
|
||||
else
|
||||
# The command line is too long to link in one step, link piecewise.
|
||||
$echo "creating reloadable object files..."
|
||||
|
||||
# Save the value of $output and $libobjs because we want to
|
||||
# use them later. If we have whole_archive_flag_spec, we
|
||||
|
@ -3286,6 +3285,7 @@ EOF
|
|||
save_libobjs=$libobjs
|
||||
fi
|
||||
save_output=$output
|
||||
output_la=`$echo "X$output" | $Xsed -e "s,^.*/,,"`
|
||||
|
||||
# Clear the reloadable object creation command queue and
|
||||
# initialize k to one.
|
||||
|
@ -3295,6 +3295,29 @@ EOF
|
|||
delfiles=
|
||||
last_robj=
|
||||
k=1
|
||||
|
||||
if test "$with_gnu_ld" = yes; then
|
||||
output=${output_objdir}/${output_la}.lnkscript
|
||||
$echo "creating GNU ld script: $output"
|
||||
$echo 'INPUT (' > $output
|
||||
for obj in $save_libobjs
|
||||
do
|
||||
$echo \""$obj"\" >> $output
|
||||
done
|
||||
$echo ')' >> $output
|
||||
delfiles="$delfiles $output"
|
||||
elif test "X$file_list_spec" != X; then
|
||||
output=${output_objdir}/${output_la}.lnk
|
||||
$echo "creating linker input file list: $output"
|
||||
: > $output
|
||||
for obj in $save_libobjs
|
||||
do
|
||||
$echo "$obj" >> $output
|
||||
done
|
||||
delfiles="$delfiles $output"
|
||||
output=\"$file_list_spec$output\"
|
||||
else
|
||||
$echo "creating reloadable object files..."
|
||||
output=$output_objdir/$save_output-${k}.$objext
|
||||
# Loop over the list of objects to be linked.
|
||||
for obj in $save_libobjs
|
||||
|
@ -3348,6 +3371,7 @@ EOF
|
|||
$run eval "$cmd" || exit $?
|
||||
done
|
||||
IFS="$save_ifs"
|
||||
fi
|
||||
|
||||
libobjs=$output
|
||||
# Restore the value of output.
|
||||
|
|
Loading…
Reference in New Issue