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 [...] I'll continue to dig. - Arnaud