This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
More egcs compiling woes on hppa1.1-hpux10.20
- To: egcs at cygnus dot com
- Subject: More egcs compiling woes on hppa1.1-hpux10.20
- From: Gcc <gcc at sunburst dot rose dot hp dot com>
- Date: Thu, 18 Dec 1997 17:06:41 -0800 (PST)
After making some minor adjustment I am not sure if this is right way to
do it. The latest snapshot still won't compile. Everything is fine in
stage1 when the compiler is being compiled from the last snapshot.
However when the it starts using the stage1 generated compiler we run into
a lot of trouble See after patches
Index: stdarg.h
===================================================================
RCS file: /usr2/home/gcc/REP/egcs/gcc/ginclude/stdarg.h,v
retrieving revision 1.1
diff -r1.1 stdarg.h
198a199,200
>
> #ifndef __hppa__
200a203
> #endif
Index: stddef.h
===================================================================
RCS file: /usr2/home/gcc/REP/egcs/gcc/ginclude/stddef.h,v
retrieving revision 1.1
diff -r1.1 stddef.h
26a27
> #ifndef __hppa__
28a30
> #endif
/usr/include/sys/signal.h
this will cause multiple definitions of sigpause
# if defined(_SVID2) || defined(_XPG4_EXTENDED) /* SYSV or CASPEC */
# ifdef _PROTOTYPES
extern void (*sigset(int, void (*)(__harg)))(__harg);
extern int sighold(int);
extern int sigrelse(int);
extern int sigignore(int);
extern int sigpause(int); <--------------------------------
It seems like the preprocessor is messed up _XPG4_EXTENDED is defined
here and _SVID2 isn't.
# else /* ! _PROTOTYPES */
extern void (*sigset())();
extern int sighold();
extern int sigrelse();
extern int sigignore();
extern int sigpause();
# endif /* _PROTOTYPES */
# endif /* _SVID2 !! _XPG4_EXTENDED */
#ifdef _INCLUDE_HPUX_SOURCE
# ifdef _PROTOTYPES
extern long sigblock(long);
extern long sigsetmask(long);
extern int sigvector(int, const struct sigvec *, struct sigvec *);
extern int (*ssignal(int, int (*) (__harg)))(__harg);
# if !defined(_SVID2) && !defined(_XPG4_EXTENDED)
extern long sigpause(long); <----------------
# endif /* not _SVID2 && not _XPG4_EXTENDED */
The compiler reads this line. If I change it to
#if !defined(_SVID2)
#ifndef _XPG4_EXTENDED
extern long sigpause(long); // It will work
#endif
#endif
Does the precompiler not like the first syntax.
extern ssize_t sigspace(size_t);
extern int gsignal(int);
# else /* not _PROTOTYPES */
extern long sigblock();
extern long sigsetmask();
extern int sigvector();
# if !defined(_SVID2) && !defined(_XPG4_EXTENDED)
extern long sigpause();
# endif /* not _SVID2 && not _XPG4_EXTENDED */
# ifdef _CLASSIC_TYPES
extern int sigspace();
# else /* not _CLASSIC_TYPES */
extern ssize_t sigspace();
# endif /* not _CLASSIC_TYPES */
extern int gsignal();
extern int (*ssignal())();
# endif /* not _PROTOTYPES */
#endif /* _INCLUDE_HPUX_SOURCE */
Okay after we get this far everything is fine until he hit longlong.h
There is several multiple definitions seems like __arm__ is defined.
Thats as far as I've gotten anybody know what are the list of defines that
the compiler has for HPUX.
Thanks!