Article View: gnu.g++.lib.bug
Article #309libg++ 2.2 on Solaris 2.0 with gcc 2.2.2 ss-920925
From: Rainer Orth
Date: Fri, 02 Oct 1992 11:05
Date: Fri, 02 Oct 1992 11:05
71 lines
3541 bytes
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!roShow 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