This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: Solaris 2.6 bootstrap failure: /usr/include/stdlib.h:111: arguments given to macro `abort'
- To: pfeifer at dbai dot tuwien dot ac dot at, zack at bitmover dot com
- Subject: Re: Solaris 2.6 bootstrap failure: /usr/include/stdlib.h:111: arguments given to macro `abort'
- From: "Kaveh R. Ghazi" <ghazi at caip dot rutgers dot edu>
- Date: Thu, 26 Aug 1999 12:21:41 -0400 (EDT)
- Cc: gcc-bugs at gcc dot gnu dot org
> From: Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
>
> On Thu, 26 Aug 1999, Zack Weinberg wrote:
> > Oops... does this fix it?
>
> Bootstrap still fails, even with your patch, but proceeds much farther;
> the new log file has 89226 bytes while without your patch bootstrap
> stopped after 31877 bytes:
>
> It seems that on Solaris 2.6 (SPARC) the stage1 compiler is broken,
> at least when bootstrapping with EGCS 1.1.2.
>
> _varargs
> __dummy
> _eprintf
> _bb
> /sw/test/gcc/gcc/gcc/libgcc2.c: In function `__bb_exit_func':
> /sw/test/gcc/gcc/gcc/libgcc2.c:1613: warning: comparison between signed
> and
> unsigned
> /sw/test/gcc/gcc/gcc/libgcc2.c:1641: warning: comparison between signed
> and
> unsigned
> xgcc: Internal compiler error: program cc1 got fatal signal 10
> gmake[2]: *** [libgcc2.a] Error 1
>
>
> Is this a related problem or should your patch be installed in any case?
> Gerald
I would be surprised if this was related to Zack's patch.
But stranger things have occurred. :-)
When I bootstrap on Solaris2.7 and SunOS4 using cc in both cases, it
successfully builds stage1, but then inifinite loops on the first file
in stage2.
It also died for me in stage1 libgcc2.a on mips-sgi-irix6.2. (Stage1
was built with cc -n32.)
> _moddi3
> _udivdi3
> xgcc: Internal compiler error: program cc1 got fatal signal 10
> make[2]: *** [libgcc2.a] Error 1
BTW, I needed more than just the resource.c patch to get that far.
Unless it was already discussed and I missed it, see below.
There was a conflicting definition of fancy_abort left over
from before the decision to always have one style of it.
--Kaveh
--- egcs-CVS19990826/gcc/tree.h~ Thu Aug 26 07:42:10 1999
+++ egcs-CVS19990826/gcc/tree.h Thu Aug 26 10:54:52 1999
@@ -2408,11 +2408,10 @@ extern void dwarf2out_end_epilogue PROTO
special abort includes one or both. toplev.h gets too few files,
system.h gets too many. */
-#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
-extern void fancy_abort PROTO((const char *, int)) ATTRIBUTE_NORETURN;
-#define abort() fancy_abort (__FILE__, __LINE__)
-#else
extern void fancy_abort PROTO((const char *, int, const char *))
ATTRIBUTE_NORETURN;
+#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
+#define abort() fancy_abort (__FILE__, __LINE__, 0)
+#else
#define abort() fancy_abort (__FILE__, __LINE__, __PRETTY_FUNCTION__)
#endif
--- egcs-CVS19990826/gcc/resource.c~ Wed Aug 25 07:42:48 1999
+++ egcs-CVS19990826/gcc/resource.c Thu Aug 26 11:01:57 1999
@@ -19,10 +19,11 @@ the Free Software Foundation, 59 Temple
Boston, MA 02111-1307, USA. */
#include "config.h"
+#include "system.h"
+
#include "toplev.h"
#include "rtl.h"
#include "hard-reg-set.h"
-#include "system.h"
#include "basic-block.h"
#include "function.h"
#include "regs.h"