Thread View: gnu.g++.bug
1 messages
1 total messages
Started by sja
Thu, 12 Oct 1989 18:24
trouble including <rpc/rpc.h> trouble including <rpc/rpc.h>
Author: sja
Date: Thu, 12 Oct 1989 18:24
Date: Thu, 12 Oct 1989 18:24
1779 lines
13945 bytes
13945 bytes
I have trouble including C file <rpc/rpc.h>. The g++ receives a fatal
signal if I try compiling following program. I am compiling on Sun3
running Sun 4.0 OS. I am enclosing the program, version number and
C preprocessor output. I would appreciate any information in this regard.
Thanks,
Jags
sja@cs.purdue.edu
--------------------
extern "C" {
#include "/usr/include/rpc/rpc.h"
}
main()
{
printf("done\n");
}
--------------------
version info:
/usr/local/gnu/lib/g++-1.35.1.lib/g++-include -DBSD -I/usr/local/gnu/lib/g++-1.35.1.lib/g++-include -undef -D__GNU__ -D__GNUG__ -D__cplusplus -Dmc68000 -Dsun -Dunix -D__mc68000__ -D__sun__ -D__unix__ -D__HAVE_68881__ -Dmc68020 dbgtest.cc
--------------------
g++ output:
g++ -c -g -I/usr/local/gnu/lib/g++-1.35.1.lib/g++-include -DBSD dbgtest.cc
/usr/include/rpc/auth.h:47: Segmentation violation
g++: Program cc1plus got fatal signal 11.
*** Error code 1
--------------------
output of C preprocessor:
# 1 "dbgtest.cc"
extern "C" {
# 1 "/usr/include/rpc/rpc.h"
# 1 "/usr/include/rpc/types.h"
extern char *malloc();
# 1 "/usr/include/sys/types.h"
# 1 "/usr/include/sys/sysmacros.h"
# 16 "/usr/include/sys/types.h"
typedef unsigned char u_char;
typedef unsigned short u_short;
typedef unsigned int u_int;
typedef unsigned long u_long;
typedef unsigned short ushort;
typedef unsigned int uint;
typedef struct _physadr { short r[1]; } *physadr;
typedef struct label_t {
int val[13];
} label_t;
typedef struct _quad { long val[2]; } quad;
typedef long daddr_t;
typedef char * caddr_t;
typedef u_long ino_t;
typedef long swblk_t;
typedef int size_t;
typedef long time_t;
typedef short dev_t;
typedef long off_t;
typedef u_short uid_t;
typedef u_short gid_t;
typedef long key_t;
typedef long fd_mask;
typedef struct fd_set {
fd_mask fds_bits[(((256 )+(( (sizeof(fd_mask) * 8 ) )-1))/( (sizeof(fd_mask) * 8 ) )) ];
} fd_set;
typedef char * addr_t;
# 107 "/usr/include/sys/types.h"
# 35 "/usr/include/rpc/types.h"
# 1 "/usr/include/sys/time.h"
struct timeval {
long tv_sec;
long tv_usec;
};
struct timezone {
int tz_minuteswest;
int tz_dsttime;
};
struct itimerval {
struct timeval it_interval;
struct timeval it_value;
};
# 1 "/usr/include/time.h"
struct tm {
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
char *tm_zone;
long tm_gmtoff;
};
extern struct tm *gmtime(), *localtime();
extern char *asctime(), *ctime();
extern void tzset(), tzsetwall();
# 62 "/usr/include/sys/time.h"
# 36 "/usr/include/rpc/types.h"
# 12 "/usr/include/rpc/rpc.h"
# 1 "/usr/include/netinet/in.h"
struct in_addr {
union {
struct { u_char s_b1,s_b2,s_b3,s_b4; } S_un_b;
struct { u_short s_w1,s_w2; } S_un_w;
u_long S_addr;
} S_un;
};
struct sockaddr_in {
short sin_family;
u_short sin_port;
struct in_addr sin_addr;
char sin_zero[8];
};
# 188 "/usr/include/netinet/in.h"
# 13 "/usr/include/rpc/rpc.h"
# 1 "/usr/include/rpc/xdr.h"
enum xdr_op {
XDR_ENCODE=0,
XDR_DECODE=1,
XDR_FREE=2
};
typedef int (*xdrproc_t)();
typedef struct {
enum xdr_op x_op;
struct xdr_ops {
int (*x_getlong)();
int (*x_putlong)();
int (*x_getbytes)();
int (*x_putbytes)();
u_int (*x_getpostn)();
int (*x_setpostn)();
long * (*x_inline)();
void (*x_destroy)();
} *x_ops;
caddr_t x_public;
caddr_t x_private;
caddr_t x_base;
int x_handy;
} XDR;
struct xdr_discrim {
int value;
xdrproc_t proc;
};
extern int xdr_void();
extern int xdr_int();
extern int xdr_u_int();
extern int xdr_long();
extern int xdr_u_long();
extern int xdr_short();
extern int xdr_u_short();
extern int xdr_bool();
extern int xdr_enum();
extern int xdr_array();
extern int xdr_bytes();
extern int xdr_opaque();
extern int xdr_string();
extern int xdr_union();
extern int xdr_char();
extern int xdr_u_char();
extern int xdr_vector();
extern int xdr_float();
extern int xdr_double();
extern int xdr_reference();
extern int xdr_pointer();
extern int xdr_wrapstring();
struct netobj {
u_int n_len;
char *n_bytes;
};
typedef struct netobj netobj;
extern int xdr_netobj();
extern void xdrmem_create();
extern void xdrstdio_create();
extern void xdrrec_create();
extern int xdrrec_endofrecord();
extern int xdrrec_skiprecord();
extern int xdrrec_eof();
# 16 "/usr/include/rpc/rpc.h"
# 1 "/usr/include/rpc/auth.h"
enum auth_stat {
AUTH_OK=0,
AUTH_BADCRED=1,
AUTH_REJECTEDCRED=2,
AUTH_BADVERF=3,
AUTH_REJECTEDVERF=4,
AUTH_TOOWEAK=5,
AUTH_INVALIDRESP=6,
AUTH_FAILED=7
};
typedef u_long u_int32;
union des_block {
struct {
u_int32 high;
u_int32 low;
} key;
char c[8];
};
typedef union des_block des_block;
extern int xdr_des_block();
struct opaque_auth {
int oa_flavor;
caddr_t oa_base;
u_int oa_length;
};
typedef struct {
struct opaque_auth ah_cred;
struct opaque_auth ah_verf;
union des_block ah_key;
struct auth_ops {
void (*ah_nextverf)();
int (*ah_marshal)();
int (*ah_validate)();
int (*ah_refresh)();
void (*ah_destroy)();
} *ah_ops;
caddr_t ah_private;
} AUTH;
extern struct opaque_auth _null_auth;
extern AUTH *authunix_create();
extern AUTH *authunix_create_default();
extern AUTH *authnone_create();
extern AUTH *authdes_create();
# 19 "/usr/include/rpc/rpc.h"
# 1 "/usr/include/rpc/clnt.h"
enum clnt_stat {
RPC_SUCCESS=0,
RPC_CANTENCODEARGS=1,
RPC_CANTDECODERES=2,
RPC_CANTSEND=3,
RPC_CANTRECV=4,
RPC_TIMEDOUT=5,
RPC_VERSMISMATCH=6,
RPC_AUTHERROR=7,
RPC_PROGUNAVAIL=8,
RPC_PROGVERSMISMATCH=9,
RPC_PROCUNAVAIL=10,
RPC_CANTDECODEARGS=11,
RPC_SYSTEMERROR=12,
RPC_UNKNOWNHOST=13,
RPC_UNKNOWNPROTO=17,
RPC_PMAPFAILURE=14,
RPC_PROGNOTREGISTERED=15,
RPC_FAILED=16
};
struct rpc_err {
enum clnt_stat re_status;
union {
int RE_errno;
enum auth_stat RE_why;
struct {
u_long low;
u_long high;
} RE_vers;
struct {
long s1;
long s2;
} RE_lb;
} ru;
};
typedef struct {
AUTH *cl_auth;
struct clnt_ops {
enum clnt_stat (*cl_call)();
void (*cl_abort)();
void (*cl_geterr)();
int (*cl_freeres)();
void (*cl_destroy)();
int (*cl_control)();
} *cl_ops;
caddr_t cl_private;
} CLIENT;
extern CLIENT *clntraw_create();
extern CLIENT *
clnt_create( );
extern CLIENT *clnttcp_create();
extern CLIENT *clntudp_create();
extern CLIENT *clntudp_bufcreate();
void clnt_pcreateerror( );
char *clnt_spcreateerror( );
void clnt_perrno( );
void clnt_perror( );
char *clnt_sperror( );
struct rpc_createerr {
enum clnt_stat cf_stat;
struct rpc_err cf_error;
};
extern struct rpc_createerr rpc_createerr;
char *clnt_sperrno( );
# 311 "/usr/include/rpc/clnt.h"
# 22 "/usr/include/rpc/rpc.h"
# 1 "/usr/include/rpc/rpc_msg.h"
enum msg_type {
CALL=0,
REPLY=1
};
enum reply_stat {
MSG_ACCEPTED=0,
MSG_DENIED=1
};
enum accept_stat {
SUCCESS=0,
PROG_UNAVAIL=1,
PROG_MISMATCH=2,
PROC_UNAVAIL=3,
GARBAGE_ARGS=4,
SYSTEM_ERR=5
};
enum reject_stat {
RPC_MISMATCH=0,
AUTH_ERROR=1
};
struct accepted_reply {
struct opaque_auth ar_verf;
enum accept_stat ar_stat;
union {
struct {
u_long low;
u_long high;
} AR_versions;
struct {
caddr_t where;
xdrproc_t proc;
} AR_results;
} ru;
};
struct rejected_reply {
enum reject_stat rj_stat;
union {
struct {
u_long low;
u_long high;
} RJ_versions;
enum auth_stat RJ_why;
} ru;
};
struct reply_body {
enum reply_stat rp_stat;
union {
struct accepted_reply RP_ar;
struct rejected_reply RP_dr;
} ru;
};
struct call_body {
u_long cb_rpcvers;
u_long cb_prog;
u_long cb_vers;
u_long cb_proc;
struct opaque_auth cb_cred;
struct opaque_auth cb_verf;
};
struct rpc_msg {
u_long rm_xid;
enum msg_type rm_direction;
union {
struct call_body RM_cmb;
struct reply_body RM_rmb;
} ru;
};
extern int xdr_callmsg();
extern int xdr_callhdr();
extern int xdr_replymsg();
extern void _seterr_reply();
# 25 "/usr/include/rpc/rpc.h"
# 1 "/usr/include/rpc/auth_unix.h"
struct authunix_parms {
u_long aup_time;
char *aup_machname;
int aup_uid;
int aup_gid;
u_int aup_len;
int *aup_gids;
};
extern int xdr_authunix_parms();
struct short_hand_verf {
struct opaque_auth new_cred;
};
# 26 "/usr/include/rpc/rpc.h"
# 1 "/usr/include/rpc/auth_des.h"
enum authdes_namekind {
ADN_FULLNAME,
ADN_NICKNAME
};
struct authdes_fullname {
char *name;
des_block key;
u_long window;
};
struct authdes_cred {
enum authdes_namekind adc_namekind;
struct authdes_fullname adc_fullname;
u_long adc_nickname;
};
struct authdes_verf {
union {
struct timeval adv_ctime;
des_block adv_xtime;
} adv_time_u;
u_long adv_int_u;
};
# 27 "/usr/include/rpc/rpc.h"
# 1 "/usr/include/rpc/svc.h"
enum xprt_stat {
XPRT_DIED,
XPRT_MOREREQS,
XPRT_IDLE
};
typedef struct {
int xp_sock;
u_short xp_port;
struct xp_ops {
int (*xp_recv)();
enum xprt_stat (*xp_stat)();
int (*xp_getargs)();
int (*xp_reply)();
int (*xp_freeargs)();
void (*xp_destroy)();
} *xp_ops;
int xp_addrlen;
struct sockaddr_in xp_raddr;
struct opaque_auth xp_verf;
caddr_t xp_p1;
caddr_t xp_p2;
} SVCXPRT;
struct svc_req {
u_long rq_prog;
u_long rq_vers;
u_long rq_proc;
struct opaque_auth rq_cred;
caddr_t rq_clntcred;
SVCXPRT *rq_xprt;
};
extern int svc_register();
extern void svc_unregister();
extern void xprt_register();
extern void xprt_unregister();
extern int svc_sendreply();
extern void svcerr_decode();
extern void svcerr_weakauth();
extern void svcerr_noproc();
extern void svcerr_progvers();
extern void svcerr_auth();
extern void svcerr_noprog();
extern void svcerr_systemerr();
extern fd_set svc_fdset;
extern void rpctest_service();
extern void svc_getreq();
extern void svc_getreqset();
extern void svc_run();
extern SVCXPRT *svcraw_create();
extern SVCXPRT *svcudp_create();
extern SVCXPRT *svcudp_bufcreate();
extern SVCXPRT *svctcp_create();
# 30 "/usr/include/rpc/rpc.h"
# 1 "/usr/include/rpc/svc_auth.h"
extern enum auth_stat _authenticate();
# 31 "/usr/include/rpc/rpc.h"
# 3 "dbgtest.cc"
}
main()
{
printf("done\n");
}
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