diff mbox

[libgo] Fix IRIX bootstrap failure

Message ID yddmx4z19g7.fsf@manam.CeBiTec.Uni-Bielefeld.DE
State New
Headers show

Commit Message

Rainer Orth May 23, 2012, 10:24 a.m. UTC
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

Comments

Ian Lance Taylor May 24, 2012, 8:48 p.m. UTC | #1
Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> writes:

> 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.

Thanks.  I committed the patch to mainline and 4.7 branch.


> 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.

I don't know what is happening here.

Ian
Rainer Orth May 25, 2012, 11:37 a.m. UTC | #2
Hi Ian,

> Thanks.  I committed the patch to mainline and 4.7 branch.

Thanks.

>> 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.
>
> I don't know what is happening here.

I plan to have a look sometime, but unfortunately I don't have much time
for GCC work these days.

	Rainer
diff mbox

Patch

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)