Hi,

On Fri, Nov 19, 2010 at 10:17 PM, Arnaud Lacombe <lacom...@gmail.com> wrote:
> Hi,
>
> On Fri, Nov 19, 2010 at 2:55 PM, Jack Howarth <howa...@bromo.med.uc.edu> 
> wrote:
>> Ian,
>>   The current gccgo branch (at r166931) fails to bootstrap on 
>> x86_64-apple-darwin10
>> using...
>>
>> ../gccgo/configure --prefix=/Users/howarth/dist --with-gmp=/sw 
>> --with-ppl=/sw --with-cloog=/sw --with-mpc=/sw --with-libiconv-prefix=/sw 
>> --with-system-zlib --x-includes=/usr/X11R6/include 
>> --x-libraries=/usr/X11R6/lib --enable-languages=c,go --enable-checking=yes
>>
>> This bootstrap fails at...
>>
>> libtool: compile:  /Users/howarth/darwin_objdir/./gcc/xgcc 
>> -B/Users/howarth/darwin_objdir/./gcc/ 
>> -B/Users/howarth/dist/x86_64-apple-darwin10.5.0/bin/ 
>> -B/Users/howarth/dist/x86_64-apple-darwin10.5.0/lib/ -isystem 
>> /Users/howarth/dist/x86_64-apple-darwin10.5.0/include -isystem 
>> /Users/howarth/dist/x86_64-apple-darwin10.5.0/sys-include -DHAVE_CONFIG_H 
>> -I. -I../../../gccgo/libgo -I ../../../gccgo/libgo/runtime 
>> -I../../../gccgo/libgo/../libffi/include -I../libffi/include -pthread 
>> -fexceptions -fplan9-extensions -Wall -Wextra -Wwrite-strings -Wcast-qual 
>> -Werror -minline-all-stringops -I ../../../gccgo/libgo/../gcc -I 
>> ../../gcc/include -g -O2 -MT go-eface-compare.lo -MD -MP -MF 
>> .deps/go-eface-compare.Tpo -c 
>> ../../../gccgo/libgo/runtime/go-eface-compare.c -o go-eface-compare.o 
>> >/dev/null 2>&1
>> ../../../gccgo/libgo/runtime/go-go.c: In function ‘runtime_stoptheworld’:
>> ../../../gccgo/libgo/runtime/go-go.c:379:29: error: ‘SIGRTMIN’ undeclared 
>> (first use in this function)
>> ../../../gccgo/libgo/runtime/go-go.c:379:29: note: each undeclared 
>> identifier is reported only once for each function it appears in
>> ../../../gccgo/libgo/runtime/go-go.c: At top level:
>> ../../../gccgo/libgo/runtime/go-go.c:431:1: error: conflicting types for 
>> ‘__go_scanstacks’
>> ../../../gccgo/libgo/runtime/runtime.h:132:6: note: previous declaration of 
>> ‘__go_scanstacks’ was here
>> ../../../gccgo/libgo/runtime/go-go.c: In function ‘runtime_starttheworld’:
>> ../../../gccgo/libgo/runtime/go-go.c:560:29: error: ‘SIGRTMIN’ undeclared 
>> (first use in this function)
>> ../../../gccgo/libgo/runtime/go-go.c: In function ‘__go_gc_goroutine_init’:
>> ../../../gccgo/libgo/runtime/go-go.c:612:7: error: ‘SIGRTMIN’ undeclared 
>> (first use in this function)
>> ../../../gccgo/libgo/runtime/go-go.c:612:7: error: left-hand operand of 
>> comma expression has no effect [-Werror=unused-value]
>> ../../../gccgo/libgo/runtime/go-go.c:614:7: error: left-hand operand of 
>> comma expression has no effect [-Werror=unused-value]
>> ../../../gccgo/libgo/runtime/go-go.c:621:7: error: left-hand operand of 
>> comma expression has no effect [-Werror=unused-value]
>> ../../../gccgo/libgo/runtime/go-go.c:623:7: error: left-hand operand of 
>> comma expression has no effect [-Werror=unused-value]
>>
>> Hopefully we can fix this before the merge.
>>          Jack
>>
> I hijack this thread for some build test I did on the gcc-go branch as
> of r166968 for x86_64-unknown-freebsd8.1 with:
>
> ../gcc/configure --with-gmp=/gcc/destdir/ --prefix=/gcc/destdir/
> --enable-languages=c,c++,go
>
> libgo fails to build with the following:
>
> gmake[3]: Entering directory `/gcc/gcc-obj/x86_64-unknown-freebsd8.1/libgo'
> gmake[4]: Entering directory `/gcc/gcc-obj/x86_64-unknown-freebsd8.1/libgo'
> /bin/sh ../../../gcc/libgo/mksysinfo.sh
> gmake[4]: *** [sysinfo.go] Error 1
> gmake[4]: Leaving directory `/gcc/gcc-obj/x86_64-unknown-freebsd8.1/libgo'
> gmake[3]: *** [all-recursive] Error 1
> gmake[3]: Leaving directory `/gcc/gcc-obj/x86_64-unknown-freebsd8.1/libgo'
> gmake[2]: *** [all] Error 2
> gmake[2]: Leaving directory `/gcc/gcc-obj/x86_64-unknown-freebsd8.1/libgo'
> gmake[1]: *** [all-target-libgo] Error 2
> gmake[1]: Leaving directory `/gcc/gcc-obj'
> gmake: *** [all] Error 2
>
> Adding "set -x" to the script gives a bit more details:
>
> + grep '^const PTRACE_EVENT_FORK' tmp-sysinfo.go
> + echo 'const PTRACE_EVENT_FORK = 1'
> + grep '^const PTRACE_EVENT_VFORK' tmp-sysinfo.go
> + echo 'const PTRACE_EVENT_VFORK = 2'
> + grep '^const PTRACE_EVENT_CLONE' tmp-sysinfo.go
> + echo 'const PTRACE_EVENT_CLONE = 3'
> + grep '^const PTRACE_EVENT_EXEC' tmp-sysinfo.go
> + echo 'const PTRACE_EVENT_EXEC = 4'
> + grep '^const PTRACE_EVENT_VFORK_DONE' tmp-sysinfo.go
> + echo 'const PTRACE_EVENT_VFORK_DONE = 5'
> + grep '^const PTRACE_EVENT_EXIT' tmp-sysinfo.go
> + echo 'const PTRACE_EVENT_EXIT = 6'
> + grep '^type _user_regs_struct struct' gen-sysinfo.go
> + regs=''
> gmake[4]: *** [sysinfo.go] Error 1
> gmake[4]: Leaving directory `/gcc/gcc-obj/x86_64-unknown-freebsd8.1/libgo'
> gmake[3]: *** [all-recursive] Error 1
> gmake[3]: Leaving directory `/gcc/gcc-obj/x86_64-unknown-freebsd8.1/libgo'
> gmake[2]: *** [all] Error 2
> gmake[2]: Leaving directory `/gcc/gcc-obj/x86_64-unknown-freebsd8.1/libgo'
> gmake[1]: *** [all-target-libgo] Error 2
> gmake[1]: Leaving directory `/gcc/gcc-obj'
> gmake: *** [all] Error 2
>
> This match:
>
> # The registers returned by PTRACE_GETREGS.  This is probably
> # GNU/Linux specific.
> regs=`grep '^type _user_regs_struct struct' gen-sysinfo.go`
> if test "$regs" != ""; then
>  regs=`echo $regs | sed -e 's/type _user_regs_struct struct //'`
>  regs=`echo $regs | sed -e
> 's/\([^a-zA-Z0-9_]*\)\([a-zA-Z0-9_]\)\([a-zA-Z0-9_]*
> [^;]*;\)/\1\U\2\E\3/g'`
>  echo "type PtraceRegs struct $regs" >> ${OUT}
> fi
>
> There also seem to be some trouble with the generation of
> "./x86_64-unknown-freebsd8.1/libgo/sysinfo.go" as if I just comment
> the lines above, the build dies with:
>
> sysinfo.go:3033:6: error: invalid recursive type
> sysinfo.go:3040:6: error: invalid recursive type
> sysinfo.go:3041:6: error: invalid recursive type
> sysinfo.go:3223:7: error: redefinition of '_FD_SETSIZE'
> sysinfo.go:215:7: note: previous definition of '_FD_SETSIZE' was here
> sysinfo.go:3224:7: error: redefinition of '_O_RDONLY'
> sysinfo.go:327:7: note: previous definition of '_O_RDONLY' was here
> sysinfo.go:3225:7: error: redefinition of '_O_WRONLY'
> sysinfo.go:328:7: note: previous definition of '_O_WRONLY' was here
> sysinfo.go:3226:7: error: redefinition of '_O_RDWR'
> sysinfo.go:329:7: note: previous definition of '_O_RDWR' was here
> sysinfo.go:3227:7: error: redefinition of '_O_ACCMODE'
> sysinfo.go:330:7: note: previous definition of '_O_ACCMODE' was here
> sysinfo.go:3228:7: error: redefinition of '_O_NONBLOCK'
> sysinfo.go:333:7: note: previous definition of '_O_NONBLOCK' was here
> sysinfo.go:3229:7: error: redefinition of '_O_APPEND'
> sysinfo.go:334:7: note: previous definition of '_O_APPEND' was here
> sysinfo.go:3230:7: error: redefinition of '_O_SHLOCK'
> sysinfo.go:335:7: note: previous definition of '_O_SHLOCK' was here
> [...]
>
ok, this last one is a classic use of non-standard extension of GNU
sed I should be able to fix it. It might not be clean, though.

 - Arnaud

Reply via email to