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