🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: gnu.g++.lib.bug
1 messages
1 total messages Started by Rainer Orth Fri, 02 Oct 1992 11:05
libg++ 2.2 on Solaris 2.0 with gcc 2.2.2 ss-920925
#309
Author: 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
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads