Bootstrap of egcs-2.93.10 19990228 snapshot fails on sparc-sun-solaris2.5.1 (internal compiler error)
Matthias Mueller
matthias@ica1.uni-stuttgart.de
Sun Feb 28 08:52:00 GMT 1999
Hi,
bootstrapping egcs-2.93.10 19990228 on sparc-sun-solaris2.5.1
triggers an internal compiler error:
Here the final lines of make bootstrap:
make[3]: Leaving directory `/data/video/matthias/src/objdir.sun/gcc'
make[3]: Entering directory `/data/video/matthias/src/objdir.sun/gcc'
./xgcc -B./ -B/local/egcs-19990228/sparc-sun-solaris2.5.1/bin/ -O2 -DIN_GCC -DHAIFA -DSVR4 -W -Wall -O2 -g -O2 -I./include -fPIC -g1 -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -g -O2 -I. -I../../egcs-19990228/gcc -I../../egcs-19990228/gcc/config -I../../egcs-19990228/gcc/../include \
-c ../../egcs-19990228/gcc/cp/new1.cc -DL_op_new -o opnew.o
../../egcs-19990228/gcc/cp/new1.cc: In function `void * operator new(unsigned int)':
../../egcs-19990228/gcc/cp/new1.cc:88: Internal compiler error.
../../egcs-19990228/gcc/cp/new1.cc:88: Please submit a full bug report to `egcs-bugs@egcs.cygnus.com'.
../../egcs-19990228/gcc/cp/new1.cc:88: See <URL: http://egcs.cygnus.com/faq.html#bugreport > for details.
make[3]: *** [opnew.o] Error 1
make[3]: Leaving directory `/data/video/matthias/src/objdir.sun/gcc'
make[2]: *** [libgcc2.a] Error 1
make[2]: Leaving directory `/data/video/matthias/src/objdir.sun/gcc'
make[1]: *** [bootstrap] Error 2
make[1]: Leaving directory `/data/video/matthias/src/objdir.sun/gcc'
make: *** [bootstrap] Error 2
And here the classical bug report for this file:
1. System type: sparc-sun-solaris2.5.1
2. Egcs version, command line options and output:
./xgcc -v --save-temps -B./ -B/local/egcs-19990228/sparc-sun-solaris2.5.1/bin/ -O2 -DIN_GCC -DHAIFA -DSVR4 -W -Wall -O2 -g -O2 -I./include -fPIC -g1 -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -g -O2 -I. -I../../egcs-19990228/gcc -I../../egcs-19990228/gcc/config -I../../egcs-19990228/gcc/../include -c ../../egcs-19990228/gcc/cp/new1.cc -DL_op_new -o opnew.o
Reading specs from ./specs
gcc version egcs-2.93.10 19990228 (gcc2 ss-980929 experimental)
./cpp -lang-c++ -v -I./include -I. -I../../egcs-19990228/gcc -I../../egcs-19990228/gcc/config -I../../egcs-19990228/gcc/../include -isystem /local/egcs-19990228/sparc-sun-solaris2.5.1/bin/include -isystem ./include -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -D__GNUC_MINOR__=93 -Dsparc -Dsun -Dunix -D__svr4__ -D__SVR4 -D__sparc__ -D__sun__ -D__unix__ -D__svr4__ -D__SVR4 -D__sparc -D__sun -D__unix -Asystem(unix) -Asystem(svr4) -D__EXCEPTIONS -D__OPTIMIZE__ -g -g1 -g -W -Wall -D__GCC_NEW_VARARGS__ -Acpu(sparc) -Amachine(sparc) -DIN_GCC -DHAIFA -DSVR4 -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -DL_op_new ../../egcs-19990228/gcc/cp/new1.cc new1.ii
GNU CPP version egcs-2.93.10 19990228 (gcc2 ss-980929 experimental) (sparc)
#include "..." search starts here:
#include <...> search starts here:
include
.
../../egcs-19990228/gcc
../../egcs-19990228/gcc/config
../../egcs-19990228/gcc/../include
include
/usr/local/include
/usr/include
End of search list.
./cc1plus new1.ii -quiet -dumpbase new1.cc -g -g1 -g -O2 -O2 -O2 -O2 -W -Wall -version -fPIC -o new1.s
GNU C++ version egcs-2.93.10 19990228 (gcc2 ss-980929 experimental) (sparc-sun-solaris2.5.1) compiled by GNU C version egcs-2.93.10 19990228 (gcc2 ss-980929 experimental).
../../egcs-19990228/gcc/cp/new1.cc: In function `void * operator new(unsigned int)':
../../egcs-19990228/gcc/cp/new1.cc:88: Internal compiler error.
../../egcs-19990228/gcc/cp/new1.cc:88: Please submit a full bug report to `egcs-bugs@egcs.cygnus.com'.
../../egcs-19990228/gcc/cp/new1.cc:88: See <URL: http://egcs.cygnus.com/faq.html#bugreport > for details.
3. Preprossed output of the source file (just 2K I include it directly)
# 1 "../../egcs-19990228/gcc/cp/new1.cc"
# 1 "include/new" 1 3 4
#pragma interface "new"
# 1 "include/stddef.h" 1 3 4
# 61 "include/stddef.h" 3 4
typedef int ptrdiff_t;
typedef unsigned int size_t;
typedef unsigned int wint_t;
# 317 "include/stddef.h" 3 4
# 8 "include/new" 2 3 4
# 1 "include/exception" 1 3 4
#pragma interface "exception"
extern "C++" {
namespace std {
class exception {
public:
exception () { }
virtual ~exception () { }
virtual const char* what () const;
};
class bad_exception : public exception {
public:
bad_exception () { }
virtual ~bad_exception () { }
};
typedef void (*terminate_handler) ();
typedef void (*unexpected_handler) ();
terminate_handler set_terminate (terminate_handler);
void terminate () __attribute__ ((__noreturn__));
unexpected_handler set_unexpected (unexpected_handler);
void unexpected () __attribute__ ((__noreturn__));
bool uncaught_exception ();
}
}
# 9 "include/new" 2 3 4
extern "C++" {
namespace std {
class bad_alloc : public exception {
public:
virtual const char* what() const throw() { return "bad_alloc"; }
};
struct nothrow_t {};
extern const nothrow_t nothrow;
typedef void (*new_handler)();
new_handler set_new_handler (new_handler);
}
void *operator new (size_t) throw (std::bad_alloc);
void *operator new[] (size_t) throw (std::bad_alloc);
void operator delete (void *) throw();
void operator delete[] (void *) throw();
void *operator new (size_t, const std::nothrow_t&) throw();
void *operator new[] (size_t, const std::nothrow_t&) throw();
void operator delete (void *, const std::nothrow_t&) throw();
void operator delete[] (void *, const std::nothrow_t&) throw();
inline void *operator new(size_t, void *place) throw() { return place; }
inline void *operator new[](size_t, void *place) throw() { return place; }
}
# 28 "../../egcs-19990228/gcc/cp/new1.cc" 2
using std::new_handler;
using std::bad_alloc;
extern "C" void *malloc (size_t);
extern new_handler __new_handler;
# 67 "../../egcs-19990228/gcc/cp/new1.cc"
void * operator new (size_t sz) throw (std::bad_alloc) __attribute__ ((weak)); void * operator new (size_t sz) throw (std::bad_alloc)
{
void *p;
if (sz == 0)
sz = 1;
p = (void *) malloc (sz);
while (p == 0)
{
new_handler handler = __new_handler;
if (! handler)
throw bad_alloc ();
handler ();
p = (void *) malloc (sz);
}
return p;
}
More information about the Gcc-bugs
mailing list