This is the mail archive of the
libstdc++@sources.redhat.com
mailing list for the libstdc++ project.
Re: Adding _eh.o frame-dwarf2.o to libstdc++.so.3?
On 25 Jul 2000 at 17:33 (-0700), H . J . Lu wrote:
| On Tue, Jul 25, 2000 at 05:17:38PM -0700, Benjamin Kosnik wrote:
| >
| > H.J:
| >
| > As you undoubtebly know, this change completely hosed shared libstdc++'s:
|
| Here is my updated version for gcc. It should be very close to the
| one checked into libtool CVS by Alexandre. Alexandre, I thought you
| were going into checking your vesion into gcc also. What happened?
The silver bullet!
I've successfully built gcc-20000725+libstdc++-v3 (that passed all
libstdc++-v3 testsuite tests) using this patch applied to the cvs'd
sources -- nothing more.
(related parts, are there others?)
glibc-2.1.3
ld 2.10.90
Thank You! I can now retire gcc-20000619.
Brent
|
| H.J.
| ----
| 2000-07-18 H.J. Lu (hjl@gnu.org)
|
| * ltmain.sh: Add -lc when building shared libary only if
| necessary.
|
| * ltconfig: Check if -lc is necessary for building shared
| libary. Set build_libtool_need_lc to indicate it.
|
| Index: ltconfig
| ===================================================================
| RCS file: /work/cvs/gnu/egcs/ltconfig,v
| retrieving revision 1.1.1.5
| diff -u -p -r1.1.1.5 ltconfig
| --- ltconfig 2000/07/24 21:05:50 1.1.1.5
| +++ ltconfig 2000/07/26 00:30:03
| @@ -2199,6 +2199,51 @@ esac
|
| echo "$ac_t$enable_shared" 1>&6
|
| +need_lc=yes
| +if test "$enable_shared" = yes && test "$with_gcc" = yes; then
| + case "$archive_cmds" in
| + *'~'*)
| + # FIXME: we may have to deal with multi-command sequences.
| + ;;
| + '$CC '*)
| + # Test whether the compiler implicitly links with -lc since on some
| + # systems, -lgcc has to come before -lc. If gcc already passes -lc
| + # to ld, don't add -lc before -lgcc.
| + echo $ac_n "checking if we need -lc for building shared libraries... $ac_c" 1>&6
| + if eval "test \"`echo '$''{'ac_cv_archive_cmds_needs_lc'+set}'`\" = set"; then
| + echo $ac_n "(cached) $ac_c" 1>&6
| + need_lc=$ac_cv_archive_cmds_needs_lc
| + else
| + $rm conftest*
| + echo "static int dummy;" > conftest.c
| + if { (eval echo $progname:2219: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; }; then
| + # Append any warnings to the config.log.
| + cat conftest.err 1>&5
| +
| + soname=conftest
| + lib=conftest
| + libobjs=conftest.o
| + deplibs=
| + linkopts=-v
| + compiler_flags=-v
| + linker_flags=-v
| + verstring=
| + output_objdir=.
| + libname=conftest
| + allow_undefined_flag=
| + if { (eval echo $progname:2234: \"$archive_cmds\") 1>&5; (eval $archive_cmds) 2>&1 | grep " -lc " 1>&5 ; }; then
| + need_lc=no
| + fi
| + else
| + cat conftest.err 1>&5
| + fi
| + fi
| + echo "$ac_t$need_lc" 1>&6
| + ;;
| + esac
| +fi
| +ac_cv_archive_cmds_needs_lc=$need_lc
| +
| # Make sure either enable_shared or enable_static is yes.
| test "$enable_shared" = yes || enable_static=yes
|
| @@ -2803,6 +2848,9 @@ SHELL=$LTSHELL
|
| # Whether or not to build shared libraries.
| build_libtool_libs=$enable_shared
| +
| +# Whether or not to add -lc for building shared libraries.
| +build_libtool_need_lc=$need_lc
|
| # Whether or not to build static libraries.
| build_old_libs=$enable_static
| Index: ltmain.sh
| ===================================================================
| RCS file: /work/cvs/gnu/egcs/ltmain.sh,v
| retrieving revision 1.1.1.5
| diff -u -p -r1.1.1.5 ltmain.sh
| --- ltmain.sh 2000/07/24 21:05:50 1.1.1.5
| +++ ltmain.sh 2000/07/24 22:16:37
| @@ -1816,8 +1816,10 @@ compiler."
| # these systems don't actually have a c library (as such)!
| ;;
| *)
| - # Add libc to deplibs on all other systems.
| - deplibs="$deplibs -lc"
| + # Add libc to deplibs on all other systems if necessary.
| + if test $build_libtool_need_lc = "yes"; then
| + deplibs="$deplibs -lc"
| + fi
| ;;
| esac
| fi
--
Damon Brent Verner o _ _ _
Cracker Jack? Surprise Certified _o /\_ _ \\o (_)\__/o (_)
brent@rcfile.org _< \_ _>(_) (_)/<_ \_| \ _|/' \/
brent@linux1.org (_)>(_) (_) (_) (_) (_)' _\o_