🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.g++.lib.bug
Article #309

libg++ 2.2 on Solaris 2.0 with gcc 2.2.2 ss-920925

#309
From: Rainer Orth
Date: Fri, 02 Oct 1992 11:05
71 lines
3541 bytes
Recently I tried to build libg++ 2.2 on a SPARCstation ELC running Solaris 2.0
with gcc 2.2.2 ss-920925.  When doing so, I ran into a few problems, mainly
with the includes:

* libg++/g++-include/sys/socket.h declares

	int getsockopt (int, int, int, void *, int *)
	int recv (int, void *, int, int)

  but <sys/socket.h> has

	int getsockopt (int, int, int, char *, int *)
	int recv (int, char *, int, int)

* libg++/g++-include/unistd.h has

	int vhangup (void)

  contrary to <unistd.h>

	void vhangup(void)

The following diffs fix those inconsistencies:

===================================================================
RCS file: libg++/g++-include/sys/RCS/socket.h,v
retrieving revision 1.1
diff -u -r1.1 libg++/g++-include/sys/socket.h
--- libg++/g++-include/sys/socket.h	1992/06/18 01:41:56	1.1
+++ libg++/g++-include/sys/socket.h	1992/09/30 19:49:05
@@ -26,10 +26,10 @@
 int       connect _G_ARGS((int, struct sockaddr*, int));
 int       getsockname _G_ARGS((int, struct sockaddr*, int*));
 int       getpeername _G_ARGS((int, struct sockaddr*, int*));
-int       getsockopt(int, int, int, void*, int*);
+int       getsockopt _G_ARGS((int, int, int, void*, int*));
 int       listen(int, int);
 int       rcmd _G_ARGS((char**, int, const char*, const char*, const char*, int*));
-int       recv(int, void*, int, int);
+int       recv _G_ARGS((int, void*, int, int));
 int       recvfrom _G_ARGS((int, void*, int, int, void*, int *));
 int       recvmsg(int, struct msghdr*, int);
 int       rexec(char**, int, const char*, const char*, const char*, int*);
===================================================================
RCS file: libg++/g++-include/RCS/unistd.h,v
retrieving revision 1.1
diff -u -r1.1 libg++/g++-include/unistd.h
--- libg++/g++-include/unistd.h	1992/06/20 06:13:42	1.1
+++ libg++/g++-include/unistd.h	1992/09/30 19:11:56
@@ -135,7 +135,7 @@
 extern int      unlink _G_ARGS((const char*));
 extern _G_pid_t vfork _G_ARGS((void));
 extern int      vadvise _G_ARGS((int));
-extern int      vhangup _G_ARGS((void));
+//extern int      vhangup _G_ARGS((void)); /* commented out for now; wrong for Solaris 2.0 */
 extern _G_off_t lseek _G_ARGS((int, long, int));
 extern _G_ssize_t read _G_ARGS((int, void*, _G_size_t));
 extern _G_ssize_t write _G_ARGS((int, const void*, _G_size_t));

The library cannot currently be built with gcc -g since the compiler
produces invalid debugging info in some cases.  gcc gets a segmentation
violation when compiling libg++/src/{Integer, Rational, Complex, Fix,
CursesW}.cc, both with and without -O.  Worst of all,
libg++/test-install/foo_main aborts with an assertion failure since the
constructors and destructors aren't called, but this problem can be solved
easily.  I've already reported these bugs to bug-g++. 

-----------------------------------------------------------------------------
Rainer Orth, Technical Computer Science, University of Bielefeld

Internet: ro@TechFak.Uni-Bielefeld.DE
Technical Details
Message-ID: <9210020905.AA02411@anemone.techfak.uni-bielefeld.de>
Path: arc1-ca.pugleaf.net!sparky!uunet!stanford.edu!agate!usenet.ins.cwru.edu!magnus.acs.ohio-state.edu!cis.ohio-state.edu!techfak.uni-bielefeld.DE!ro

Show Full Headers
Complete Article Headers
Newsgroups: gnu.g++.lib.bug
Path: arc1-ca.pugleaf.net!sparky!uunet!stanford.edu!agate!usenet.ins.cwru.edu!magnus.acs.ohio-state.edu!cis.ohio-state.edu!techfak.uni-bielefeld.DE!ro
From: ro@techfak.uni-bielefeld.DE (Rainer Orth)
Subject: libg++ 2.2 on Solaris 2.0 with gcc 2.2.2 ss-920925
Message-ID: <9210020905.AA02411@anemone.techfak.uni-bielefeld.de>
Sender: gnulists@ai.mit.edu
Organization: GNUs Not Usenet
Distribution: gnu
Date: Fri, 2 Oct 1992 11:05:36 GMT
Approved: bug-lib-g++@prep.ai.mit.edu
Lines: 74