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