libstdc++ patch
H.J. Lu
hjl@lucon.org
Mon Sep 8 14:20:00 GMT 1997
>
> > I can't get egcs-970904 to build on linux/glibc-2.0.5. Libio has
> > trouble due to conflicts with headers from glibc.
>
> As I said many times, it won't work as is. I will make a new
> libio/libstdcc++ patch in a day or 2 after cleaning up my code.
>
> You are getting your versions confused here. egcs-970904 has the old libio
> that will not work under linux/glibc2. egcs-970907 has the new libio that
> should work under linux/glibc2.
>
> We have already fixed the problems that you have complained about so many
> times by merging in the new libio code. If there is some reason why the
> new libio code does not work, then please explain what the problem is.
>
I will try. First is libstdc++.
1. It doesn't make sense to use c++, which adds -lstdc++, to build
libstdc++.so. The gnu ld will add libstdc++.so to the needed list
for libstdc++.so. It is very strange to the least.
2. You cannot use the same soname for libstdc++ for linux/libc5 and
linux/glibc 2. It will confuse users and may cause many problems.
--
H.J. Lu (hjl@gnu.ai.mit.edu)
----
Mon Aug 25 17:31:49 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
* Makefile.in ($(SHLIB)): Use $(CC) instead of (CXX) to avoid
implicit -lstdc++.
* configure.in (*-*-linux*gnulibc1): Add linux-gnulibc1.ml
for frags to avoid soname conflict.
* config/linux-gnulibc1.ml: New.
Index: libstdc++/Makefile.in
===================================================================
RCS file: /home/work/cvs/gnu/egcs/libstdc++/Makefile.in,v
retrieving revision 1.1.1.2
diff -u -r1.1.1.2 Makefile.in
--- libstdc++/Makefile.in 1997/08/29 00:32:44 1.1.1.2
+++ libstdc++/Makefile.in 1997/09/08 21:02:08
@@ -87,7 +87,7 @@
$(RANLIB) $(ARLIB)
$(SHLIB): piclist
- $(CXX) $(LIBCXXFLAGS) $(SHFLAGS) -shared -o $(SHLIB) `cat piclist` $(SHDEPS)
+ $(CC) $(LIBCXXFLAGS) $(SHFLAGS) -shared -o $(SHLIB) `cat piclist` $(SHDEPS)
$(SHARLIB): $(SHLIB)
-rm -f t$(SHARLIB)
Index: libstdc++/configure.in
===================================================================
RCS file: /home/work/cvs/gnu/egcs/libstdc++/configure.in,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 configure.in
--- libstdc++/configure.in 1997/08/26 00:21:28 1.1.1.1
+++ libstdc++/configure.in 1997/08/27 15:44:47
@@ -33,6 +33,7 @@
*-*-hpux*) frags="${frags} hpux.ml" ;;
*-*-irix[56]*) frags="${frags} irix5.ml" ;;
*-*-linux*aout*) ;;
+ *-*-linux*gnulibc1) frags="${frags} linux.ml linux-gnulibc1.ml" ;;
*-*-linux*) frags="${frags} linux.ml" ;;
*-*-sysv4*) frags="${frags} elf.ml" ;;
*-*-solaris*) frags="${frags} sol2shm.ml" ;;
--- /dev/null Wed Dec 31 16:00:00 1969
+++ libstdc++/config/linux-gnulibc1.ml Wed Aug 27 08:30:49 1997
@@ -0,0 +1,4 @@
+# We have to use a different soname for *-linux-gnulibc1* to avoid
+# conflict with *-linux-gnu*.
+
+MSHLINK = libstdc++.so.`echo $(VERSION) | sed 's/\([0-9]\+\)[.]\([0-9]\+\).*/\1\2/'`
More information about the Gcc
mailing list