diff -rbu libtool-2.4.2-orig/libltdl/config/ltmain.m4sh libtool-2.4.2/libltdl/config/ltmain.m4sh --- libtool-2.4.2-orig/libltdl/config/ltmain.m4sh 2011-10-17 06:17:05.000000000 -0400 +++ libtool-2.4.2/libltdl/config/ltmain.m4sh 2011-11-02 15:04:22.000000000 -0400 @@ -2937,6 +2937,21 @@ fi func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ 'stat=$?; rm -f "$lockfile"; exit $stat' + $AR t "$f_ex_an_ar_oldlib" | while read member; do + case "$member" in + *.$objext|__.SYMDEF*) + ;; + #23456789012345 1234567890123456 + ??????????????.|???????????????.) + func_verbose "fixing truncated member name $member($objext)" + (cd $f_ex_an_ar_dir && mv -f $member $member$objext) + ;; + ???????????????|????????????????) + func_verbose "fixing truncated member name $member(.$objext)" + (cd $f_ex_an_ar_dir && mv -f $member $member.$objext) + ;; + esac + done if test "$lock_old_archive_extraction" = yes; then $opt_dry_run || rm -f "$lockfile" fi