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

Reply via email to