The current 4.7 branch fails to build on IRIX 6.5: /vol/gcc/src/hg/gcc-4.7-branch/local/libgo/runtime/go-caller.c:51:1: error: conflicting types for '__go_file_line' In file included from /vol/gcc/src/hg/gcc-4.7-branch/local/libgo/runtime/go-caller.c:11:0: /vol/gcc/src/hg/gcc-4.7-branch/local/libgo/runtime/runtime.h:481:14: note: previous declaration of '__go_file_line' was here
The following patch fixes the inconsistency between runtime.h and go-caller.c and lets the bootstrap finish. Testsuite results are still terrible since many tests timeout (with timeout doubled to 600s to account for the slow 250 MHz MIPS R10k CPUs on my test machine), and others not even hitting the timeout at all: PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND 35782082 ro 20 0 784M 3696K ready 357:50 29.59% 59.18% goprint.ex 33666480 ro 20 0 784M 5568K ready 437:14 29.56% 59.11% select5.ex 35957493 ro 20 0 784M 5264K run/2 206:40 29.43% 58.86% 64bit.exe 35654428 ro 20 0 784M 5072K ready 432:59 29.41% 58.82% index.exe They all seem to loop in a SIGSEGV handling loop. Rainer
diff --git a/libgo/runtime/go-caller.c b/libgo/runtime/go-caller.c --- a/libgo/runtime/go-caller.c +++ b/libgo/runtime/go-caller.c @@ -48,7 +48,7 @@ RegisterDebugLookup (infofn_type pi, sym /* Return function/file/line information for PC. */ _Bool -__go_file_line (uintptr_t pc, struct __go_string *fn, struct __go_string *file, +__go_file_line (uintptr pc, struct __go_string *fn, struct __go_string *file, int *line) { if (infofn == NULL)
-- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University