public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug go/86535] FreeBSD/PowerPC64 - Building Go Frontend support for gcc 7.3.0 fails
       [not found] <bug-86535-4@http.gcc.gnu.org/bugzilla/>
@ 2020-08-07 13:36 ` clhamilto at gmail dot com
  2020-08-07 16:08 ` ian at airs dot com
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 13+ messages in thread
From: clhamilto at gmail dot com @ 2020-08-07 13:36 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86535

--- Comment #26 from Curtis Hamilton <clhamilto at gmail dot com> ---
Ian,

I've made progress with building the frontend but I have an issue with
implementing Syscall9 needed by libgo/go/os/wait_wait6.go.  I tried adding the
file  "syscall_freebsd_ppc64.go" containing the following:

func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2
uintptr, err Errno)

that gets me past the initial error.

But now I get the below error when linking gotools.

gmake[6]: Leaving directory
'/usr/ports/lang/gcc10/work/.build/powerpc64-portbld-freebsd12.1/libgo'
gmake[5]: Leaving directory
'/usr/ports/lang/gcc10/work/.build/powerpc64-portbld-freebsd12.1/libgo'
gmake[4]: Leaving directory
'/usr/ports/lang/gcc10/work/.build/powerpc64-portbld-freebsd12.1/libgo'
gmake[4]: Entering directory '/usr/ports/lang/gcc10/work/.build/gotools'
/usr/ports/lang/gcc10/work/.build/./gcc/gccgo
-B/usr/ports/lang/gcc10/work/.build/./gcc/
-B/usr/local/powerpc64-portbld-freebsd12.1/bin/
-B/usr/local/powerpc64-portbld-freebsd12.1/lib/ -isystem
/usr/local/powerpc64-portbld-freebsd12.1/include -isystem
/usr/local/powerpc64-portbld-freebsd12.1/sys-include   -g -O2 -pipe 
-DLIBICONV_PLUG -fno-strict-aliasing  -I ../powerpc64-portbld-freebsd12.1/libgo
-static-libstdc++ -static-libgcc  -L ../powerpc64-portbld-freebsd12.1/libgo -L
../powerpc64-portbld-freebsd12.1/libgo/.libs -o go
/usr/ports/lang/gcc10/work/gcc-10.1.0/gotools/../libgo/go/cmd/go/alldocs.go
/usr/ports/lang/gcc10/work/gcc-10.1.0/gotools/../libgo/go/cmd/go/go11.go
/usr/ports/lang/gcc10/work/gcc-10.1.0/gotools/../libgo/go/cmd/go/main.go
../powerpc64-portbld-freebsd12.1/libgo/libgotool.a  
/usr/ports/lang/gcc10/work/.build/./gcc/gccgo
-B/usr/ports/lang/gcc10/work/.build/./gcc/
-B/usr/local/powerpc64-portbld-freebsd12.1/bin/
-B/usr/local/powerpc64-portbld-freebsd12.1/lib/ -isystem
/usr/local/powerpc64-portbld-freebsd12.1/include -isystem
/usr/local/powerpc64-portbld-freebsd12.1/sys-include   -g -O2 -pipe 
-DLIBICONV_PLUG -fno-strict-aliasing  -I ../powerpc64-portbld-freebsd12.1/libgo
-static-libstdc++ -static-libgcc  -L ../powerpc64-portbld-freebsd12.1/libgo -L
../powerpc64-portbld-freebsd12.1/libgo/.libs -o gofmt
/usr/ports/lang/gcc10/work/gcc-10.1.0/gotools/../libgo/go/cmd/gofmt/doc.go
/usr/ports/lang/gcc10/work/gcc-10.1.0/gotools/../libgo/go/cmd/gofmt/gofmt.go
/usr/ports/lang/gcc10/work/gcc-10.1.0/gotools/../libgo/go/cmd/gofmt/internal.go
/usr/ports/lang/gcc10/work/gcc-10.1.0/gotools/../libgo/go/cmd/gofmt/rewrite.go
/usr/ports/lang/gcc10/work/gcc-10.1.0/gotools/../libgo/go/cmd/gofmt/simplify.go
../powerpc64-portbld-freebsd12.1/libgo/libgotool.a  
/usr/ports/lang/gcc10/work/.build/./gcc/gccgo
-B/usr/ports/lang/gcc10/work/.build/./gcc/
-B/usr/local/powerpc64-portbld-freebsd12.1/bin/
-B/usr/local/powerpc64-portbld-freebsd12.1/lib/ -isystem
/usr/local/powerpc64-portbld-freebsd12.1/include -isystem
/usr/local/powerpc64-portbld-freebsd12.1/sys-include   -g -O2 -pipe 
-DLIBICONV_PLUG -fno-strict-aliasing  -I ../powerpc64-portbld-freebsd12.1/libgo
-static-libstdc++ -static-libgcc  -L ../powerpc64-portbld-freebsd12.1/libgo -L
../powerpc64-portbld-freebsd12.1/libgo/.libs -o vet
/usr/ports/lang/gcc10/work/gcc-10.1.0/gotools/../libgo/go/cmd/vet/doc.go
/usr/ports/lang/gcc10/work/gcc-10.1.0/gotools/../libgo/go/cmd/vet/main.go
../powerpc64-portbld-freebsd12.1/libgo/libgotool.a  
/usr/ports/lang/gcc10/work/.build/./gcc/gccgo
-B/usr/ports/lang/gcc10/work/.build/./gcc/
-B/usr/local/powerpc64-portbld-freebsd12.1/bin/
-B/usr/local/powerpc64-portbld-freebsd12.1/lib/ -isystem
/usr/local/powerpc64-portbld-freebsd12.1/include -isystem
/usr/local/powerpc64-portbld-freebsd12.1/sys-include   -g -O2 -pipe 
-DLIBICONV_PLUG -fno-strict-aliasing  -I ../powerpc64-portbld-freebsd12.1/libgo
-static-libstdc++ -static-libgcc  -L ../powerpc64-portbld-freebsd12.1/libgo -L
../powerpc64-portbld-freebsd12.1/libgo/.libs -o buildid
/usr/ports/lang/gcc10/work/gcc-10.1.0/gotools/../libgo/go/cmd/buildid/buildid.go
/usr/ports/lang/gcc10/work/gcc-10.1.0/gotools/../libgo/go/cmd/buildid/doc.go
../powerpc64-portbld-freebsd12.1/libgo/libgotool.a  
/usr/ports/lang/gcc10/work/.build/./gcc/gccgo
-B/usr/ports/lang/gcc10/work/.build/./gcc/
-B/usr/local/powerpc64-portbld-freebsd12.1/bin/
-B/usr/local/powerpc64-portbld-freebsd12.1/lib/ -isystem
/usr/local/powerpc64-portbld-freebsd12.1/include -isystem
/usr/local/powerpc64-portbld-freebsd12.1/sys-include   -g -O2 -pipe 
-DLIBICONV_PLUG -fno-strict-aliasing  -I ../powerpc64-portbld-freebsd12.1/libgo
-static-libstdc++ -static-libgcc  -L ../powerpc64-portbld-freebsd12.1/libgo -L
../powerpc64-portbld-freebsd12.1/libgo/.libs -o test2json
/usr/ports/lang/gcc10/work/gcc-10.1.0/gotools/../libgo/go/cmd/test2json/main.go
../powerpc64-portbld-freebsd12.1/libgo/libgotool.a  
/usr/local/bin/ld: ../powerpc64-portbld-freebsd12.1/libgo/.libs/libgo.so:
undefined reference to `syscall.Syscall9'
/usr/local/bin/ld: ../powerpc64-portbld-freebsd12.1/libgo/.libs/libgo.so:
undefined reference to `syscall.Syscall9'
collect2: error: ld returned 1 exit status
gmake[4]: *** [Makefile:831: test2json] Error 1
gmake[4]: *** Waiting for unfinished jobs....
collect2: error: ld returned 1 exit status
gmake[4]: *** [Makefile:829: buildid] Error 1
/usr/local/bin/ld: ../powerpc64-portbld-freebsd12.1/libgo/.libs/libgo.so:
undefined reference to `syscall.Syscall9'
collect2: error: ld returned 1 exit status
gmake[4]: *** [Makefile:827: vet] Error 1
/usr/local/bin/ld: ../powerpc64-portbld-freebsd12.1/libgo/.libs/libgo.so:
undefined reference to `syscall.Syscall9'
/usr/local/bin/ld: ../powerpc64-portbld-freebsd12.1/libgo/.libs/libgo.so:
undefined reference to `syscall.Syscall9'
collect2: error: ld returned 1 exit status
gmake[4]: *** [Makefile:821: go] Error 1
collect2: error: ld returned 1 exit status
gmake[4]: *** [Makefile:823: gofmt] Error 1
gmake[4]: Leaving directory '/usr/ports/lang/gcc10/work/.build/gotools'
gmake[3]: *** [Makefile:14920: all-gotools] Error 2
gmake[3]: Leaving directory '/usr/ports/lang/gcc10/work/.build'
gmake[2]: *** [Makefile:24257: bootstrap-lean] Error 2
gmake[2]: Leaving directory '/usr/ports/lang/gcc10/work/.build'
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug go/86535] FreeBSD/PowerPC64 - Building Go Frontend support for gcc 7.3.0 fails
       [not found] <bug-86535-4@http.gcc.gnu.org/bugzilla/>
  2020-08-07 13:36 ` [Bug go/86535] FreeBSD/PowerPC64 - Building Go Frontend support for gcc 7.3.0 fails clhamilto at gmail dot com
@ 2020-08-07 16:08 ` ian at airs dot com
  2020-08-07 16:54 ` clhamilto at gmail dot com
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 13+ messages in thread
From: ian at airs dot com @ 2020-08-07 16:08 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86535

--- Comment #27 from Ian Lance Taylor <ian at airs dot com> ---
What is the complete contents of your new file?  You showed just a declaration;
is there a function body there as well?

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug go/86535] FreeBSD/PowerPC64 - Building Go Frontend support for gcc 7.3.0 fails
       [not found] <bug-86535-4@http.gcc.gnu.org/bugzilla/>
  2020-08-07 13:36 ` [Bug go/86535] FreeBSD/PowerPC64 - Building Go Frontend support for gcc 7.3.0 fails clhamilto at gmail dot com
  2020-08-07 16:08 ` ian at airs dot com
@ 2020-08-07 16:54 ` clhamilto at gmail dot com
  2020-08-07 17:46 ` ian at airs dot com
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 13+ messages in thread
From: clhamilto at gmail dot com @ 2020-08-07 16:54 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86535

--- Comment #28 from Curtis Hamilton <clhamilto at gmail dot com> ---
(In reply to Ian Lance Taylor from comment #27)
> What is the complete contents of your new file?  You showed just a
> declaration; is there a function body there as well?

That's what I was missing. I now have it working, here's the complete contents
of the file.


package syscall

// We can't use the gc-syntax .s files for gccgo. On the plus side
// much of the functionality can be written directly in Go.

func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2
uintptr, err Errno) {
        Entersyscall()
        r, r2, errno := Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9)
        Exitsyscall()
        return r, 0, Errno(errno)
}

func syscall9(uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr,
uintptr, uintptr, uintptr) (uintptr, uintptr, Errno)


Also, there was an earlier error that I manually changed.  Any idea on how to
fix the below:

runtime_sysinfo.go:580:6: error: invalid recursive type
  580 | type _thread _thread
      |

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug go/86535] FreeBSD/PowerPC64 - Building Go Frontend support for gcc 7.3.0 fails
       [not found] <bug-86535-4@http.gcc.gnu.org/bugzilla/>
                   ` (2 preceding siblings ...)
  2020-08-07 16:54 ` clhamilto at gmail dot com
@ 2020-08-07 17:46 ` ian at airs dot com
  2020-08-07 18:01 ` clhamilto at gmail dot com
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 13+ messages in thread
From: ian at airs dot com @ 2020-08-07 17:46 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86535

--- Comment #29 from Ian Lance Taylor <ian at airs dot com> ---
The runtime_sysinfo.go is manually generated by mkrsysinfo.sh.  I don't know
where the _thread definition is coming from, but probably the simplest approach
is to remove it via the list of grep -v call nears the start of mkrsysinfo.sh.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug go/86535] FreeBSD/PowerPC64 - Building Go Frontend support for gcc 7.3.0 fails
       [not found] <bug-86535-4@http.gcc.gnu.org/bugzilla/>
                   ` (3 preceding siblings ...)
  2020-08-07 17:46 ` ian at airs dot com
@ 2020-08-07 18:01 ` clhamilto at gmail dot com
  2020-08-07 18:37 ` ian at airs dot com
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 13+ messages in thread
From: clhamilto at gmail dot com @ 2020-08-07 18:01 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86535

--- Comment #30 from Curtis Hamilton <clhamilto at gmail dot com> ---
Ian,

I've made progress with building the frontend but I have an issue with
implementing Syscall9 needed by libgo/go/os/wait_wait6.go.  I tried adding the
file  "syscall_freebsd_ppc64.go" containing the following:

func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2
uintptr, err Errno)

that gets me past the initial error.

But now I get the below error when linking gotools.

gmake[6]: Leaving directory
'/usr/ports/lang/gcc10/work/.build/powerpc64-portbld-freebsd12.1/libgo'
gmake[5]: Leaving directory
'/usr/ports/lang/gcc10/work/.build/powerpc64-portbld-freebsd12.1/libgo'
gmake[4]: Leaving directory
'/usr/ports/lang/gcc10/work/.build/powerpc64-portbld-freebsd12.1/libgo'
gmake[4]: Entering directory '/usr/ports/lang/gcc10/work/.build/gotools'
/usr/ports/lang/gcc10/work/.build/./gcc/gccgo
-B/usr/ports/lang/gcc10/work/.build/./gcc/
-B/usr/local/powerpc64-portbld-freebsd12.1/bin/
-B/usr/local/powerpc64-portbld-freebsd12.1/lib/ -isystem
/usr/local/powerpc64-portbld-freebsd12.1/include -isystem
/usr/local/powerpc64-portbld-freebsd12.1/sys-include   -g -O2 -pipe 
-DLIBICONV_PLUG -fno-strict-aliasing  -I ../powerpc64-portbld-freebsd12.1/libgo
-static-libstdc++ -static-libgcc  -L ../powerpc64-portbld-freebsd12.1/libgo -L
../powerpc64-portbld-freebsd12.1/libgo/.libs -o go
/usr/ports/lang/gcc10/work/gcc-10.1.0/gotools/../libgo/go/cmd/go/alldocs.go
/usr/ports/lang/gcc10/work/gcc-10.1.0/gotools/../libgo/go/cmd/go/go11.go
/usr/ports/lang/gcc10/work/gcc-10.1.0/gotools/../libgo/go/cmd/go/main.go
../powerpc64-portbld-freebsd12.1/libgo/libgotool.a  
/usr/ports/lang/gcc10/work/.build/./gcc/gccgo
-B/usr/ports/lang/gcc10/work/.build/./gcc/
-B/usr/local/powerpc64-portbld-freebsd12.1/bin/
-B/usr/local/powerpc64-portbld-freebsd12.1/lib/ -isystem
/usr/local/powerpc64-portbld-freebsd12.1/include -isystem
/usr/local/powerpc64-portbld-freebsd12.1/sys-include   -g -O2 -pipe 
-DLIBICONV_PLUG -fno-strict-aliasing  -I ../powerpc64-portbld-freebsd12.1/libgo
-static-libstdc++ -static-libgcc  -L ../powerpc64-portbld-freebsd12.1/libgo -L
../powerpc64-portbld-freebsd12.1/libgo/.libs -o gofmt
/usr/ports/lang/gcc10/work/gcc-10.1.0/gotools/../libgo/go/cmd/gofmt/doc.go
/usr/ports/lang/gcc10/work/gcc-10.1.0/gotools/../libgo/go/cmd/gofmt/gofmt.go
/usr/ports/lang/gcc10/work/gcc-10.1.0/gotools/../libgo/go/cmd/gofmt/internal.go
/usr/ports/lang/gcc10/work/gcc-10.1.0/gotools/../libgo/go/cmd/gofmt/rewrite.go
/usr/ports/lang/gcc10/work/gcc-10.1.0/gotools/../libgo/go/cmd/gofmt/simplify.go
../powerpc64-portbld-freebsd12.1/libgo/libgotool.a  
/usr/ports/lang/gcc10/work/.build/./gcc/gccgo
-B/usr/ports/lang/gcc10/work/.build/./gcc/
-B/usr/local/powerpc64-portbld-freebsd12.1/bin/
-B/usr/local/powerpc64-portbld-freebsd12.1/lib/ -isystem
/usr/local/powerpc64-portbld-freebsd12.1/include -isystem
/usr/local/powerpc64-portbld-freebsd12.1/sys-include   -g -O2 -pipe 
-DLIBICONV_PLUG -fno-strict-aliasing  -I ../powerpc64-portbld-freebsd12.1/libgo
-static-libstdc++ -static-libgcc  -L ../powerpc64-portbld-freebsd12.1/libgo -L
../powerpc64-portbld-freebsd12.1/libgo/.libs -o vet
/usr/ports/lang/gcc10/work/gcc-10.1.0/gotools/../libgo/go/cmd/vet/doc.go
/usr/ports/lang/gcc10/work/gcc-10.1.0/gotools/../libgo/go/cmd/vet/main.go
../powerpc64-portbld-freebsd12.1/libgo/libgotool.a  
/usr/ports/lang/gcc10/work/.build/./gcc/gccgo
-B/usr/ports/lang/gcc10/work/.build/./gcc/
-B/usr/local/powerpc64-portbld-freebsd12.1/bin/
-B/usr/local/powerpc64-portbld-freebsd12.1/lib/ -isystem
/usr/local/powerpc64-portbld-freebsd12.1/include -isystem
/usr/local/powerpc64-portbld-freebsd12.1/sys-include   -g -O2 -pipe 
-DLIBICONV_PLUG -fno-strict-aliasing  -I ../powerpc64-portbld-freebsd12.1/libgo
-static-libstdc++ -static-libgcc  -L ../powerpc64-portbld-freebsd12.1/libgo -L
../powerpc64-portbld-freebsd12.1/libgo/.libs -o buildid
/usr/ports/lang/gcc10/work/gcc-10.1.0/gotools/../libgo/go/cmd/buildid/buildid.go
/usr/ports/lang/gcc10/work/gcc-10.1.0/gotools/../libgo/go/cmd/buildid/doc.go
../powerpc64-portbld-freebsd12.1/libgo/libgotool.a  
/usr/ports/lang/gcc10/work/.build/./gcc/gccgo
-B/usr/ports/lang/gcc10/work/.build/./gcc/
-B/usr/local/powerpc64-portbld-freebsd12.1/bin/
-B/usr/local/powerpc64-portbld-freebsd12.1/lib/ -isystem
/usr/local/powerpc64-portbld-freebsd12.1/include -isystem
/usr/local/powerpc64-portbld-freebsd12.1/sys-include   -g -O2 -pipe 
-DLIBICONV_PLUG -fno-strict-aliasing  -I ../powerpc64-portbld-freebsd12.1/libgo
-static-libstdc++ -static-libgcc  -L ../powerpc64-portbld-freebsd12.1/libgo -L
../powerpc64-portbld-freebsd12.1/libgo/.libs -o test2json
/usr/ports/lang/gcc10/work/gcc-10.1.0/gotools/../libgo/go/cmd/test2json/main.go
../powerpc64-portbld-freebsd12.1/libgo/libgotool.a  
/usr/local/bin/ld: ../powerpc64-portbld-freebsd12.1/libgo/.libs/libgo.so:
undefined reference to `syscall.Syscall9'
/usr/local/bin/ld: ../powerpc64-portbld-freebsd12.1/libgo/.libs/libgo.so:
undefined reference to `syscall.Syscall9'
collect2: error: ld returned 1 exit status
gmake[4]: *** [Makefile:831: test2json] Error 1
gmake[4]: *** Waiting for unfinished jobs....
collect2: error: ld returned 1 exit status
gmake[4]: *** [Makefile:829: buildid] Error 1
/usr/local/bin/ld: ../powerpc64-portbld-freebsd12.1/libgo/.libs/libgo.so:
undefined reference to `syscall.Syscall9'
collect2: error: ld returned 1 exit status
gmake[4]: *** [Makefile:827: vet] Error 1
/usr/local/bin/ld: ../powerpc64-portbld-freebsd12.1/libgo/.libs/libgo.so:
undefined reference to `syscall.Syscall9'
/usr/local/bin/ld: ../powerpc64-portbld-freebsd12.1/libgo/.libs/libgo.so:
undefined reference to `syscall.Syscall9'
collect2: error: ld returned 1 exit status
gmake[4]: *** [Makefile:821: go] Error 1
collect2: error: ld returned 1 exit status
gmake[4]: *** [Makefile:823: gofmt] Error 1
gmake[4]: Leaving directory '/usr/ports/lang/gcc10/work/.build/gotools'
gmake[3]: *** [Makefile:14920: all-gotools] Error 2
gmake[3]: Leaving directory '/usr/ports/lang/gcc10/work/.build'
gmake[2]: *** [Makefile:24257: bootstrap-lean] Error 2
gmake[2]: Leaving directory '/usr/ports/lang/gcc10/work/.build'
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1
(In reply to Curtis Hamilton from comment #28)
> (In reply to Ian Lance Taylor from comment #27)
> > What is the complete contents of your new file?  You showed just a
> > declaration; is there a function body there as well?
> 
> That's what I was missing. I now have it working, here's the complete
> contents of the file.
> 
> 
> package syscall
> 
> // We can't use the gc-syntax .s files for gccgo. On the plus side
> // much of the functionality can be written directly in Go.
> 
> func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2
> uintptr, err Errno) {
>         Entersyscall()
>         r, r2, errno := Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9)
>         Exitsyscall()
>         return r, 0, Errno(errno)
> }
> 
> func syscall9(uintptr, uintptr, uintptr, uintptr, uintptr, uintptr, uintptr,
> uintptr, uintptr, uintptr) (uintptr, uintptr, Errno)
> 
> 
> Also, there was an earlier error that I manually changed.  Any idea on how
> to fix the below:
> 
> runtime_sysinfo.go:580:6: error: invalid recursive type
>   580 | type _thread _thread
>       |

Testing the build using simple hello program 

root@blackbird:~ # ./a.out
runtime: len(sigtable)=33 _NSIG=32
fatal error: bad sigtable len

goroutine 1 [running, locked to thread]:
runtime.dopanic_m
        :0
runtime.throw
        :0
runtime.runtime..init4
        :0
runtime..import
        :0
__go_init_main
        /root/test.go:2
runtime.main
        :0
runtime.kickoff
        :0

        /usr/src/lib/libc/powerpc64/gen/_ctx_start.S:38

goroutine 2 [runnable]:

Any ideas?

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug go/86535] FreeBSD/PowerPC64 - Building Go Frontend support for gcc 7.3.0 fails
       [not found] <bug-86535-4@http.gcc.gnu.org/bugzilla/>
                   ` (4 preceding siblings ...)
  2020-08-07 18:01 ` clhamilto at gmail dot com
@ 2020-08-07 18:37 ` ian at airs dot com
  2020-08-07 23:04 ` clhamilto at gmail dot com
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 13+ messages in thread
From: ian at airs dot com @ 2020-08-07 18:37 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86535

--- Comment #31 from Ian Lance Taylor <ian at airs dot com> ---
> runtime: len(sigtable)=33 _NSIG=32
> fatal error: bad sigtable len

This error means that the sigtable generated by mksigtab.sh does not match the
value of _NSIG in the file generated by mksysinfo.sh.  You'll need to figure
out why there is a discrepancy and resolve it.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug go/86535] FreeBSD/PowerPC64 - Building Go Frontend support for gcc 7.3.0 fails
       [not found] <bug-86535-4@http.gcc.gnu.org/bugzilla/>
                   ` (5 preceding siblings ...)
  2020-08-07 18:37 ` ian at airs dot com
@ 2020-08-07 23:04 ` clhamilto at gmail dot com
  2020-08-08  0:05 ` ian at airs dot com
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 13+ messages in thread
From: clhamilto at gmail dot com @ 2020-08-07 23:04 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86535

--- Comment #32 from Curtis Hamilton <clhamilto at gmail dot com> ---
(In reply to Ian Lance Taylor from comment #31)
> > runtime: len(sigtable)=33 _NSIG=32
> > fatal error: bad sigtable len
> 
> This error means that the sigtable generated by mksigtab.sh does not match
> the value of _NSIG in the file generated by mksysinfo.sh.  You'll need to
> figure out why there is a discrepancy and resolve it.

There are actually only 32 signals, however mksigtab.sh adds a signal at 0 
"SIGNONE: no trap", which makes 33 signals in sigtable.  Freebsd sets _NSIG to
32 for 33 signals, counting from 0 vice 1. mksysinfo.sh pulls the value for
_NSIG directly from signal.h.  Seems the only way to fix is by modifying
signal.h

BTW, removing the "_thread" definition results in the following.

runtime_sysinfo.go:516:36: error: use of undefined type '_thread'
  516 | type _cv_waitq struct { tqh_first *_thread; tqh_last **_thread; }
      |                                    ^

However, I don't see any other references to "__cv_waitq" in the code.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug go/86535] FreeBSD/PowerPC64 - Building Go Frontend support for gcc 7.3.0 fails
       [not found] <bug-86535-4@http.gcc.gnu.org/bugzilla/>
                   ` (6 preceding siblings ...)
  2020-08-07 23:04 ` clhamilto at gmail dot com
@ 2020-08-08  0:05 ` ian at airs dot com
  2020-08-08 15:43 ` clhamilto at gmail dot com
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 13+ messages in thread
From: ian at airs dot com @ 2020-08-08  0:05 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86535

--- Comment #33 from Ian Lance Taylor <ian at airs dot com> ---
> There are actually only 32 signals, however mksigtab.sh adds a signal at 0  "SIGNONE: no trap", which makes 33 signals in sigtable.  Freebsd sets _NSIG to 32 for 33 signals, counting from 0 vice 1. mksysinfo.sh pulls the value for _NSIG directly from signal.h.  Seems the only way to fix is by modifying signal.h

32 signals implies signal numbers 0 to 31.  The error says that len(sigtable)
is 33, implying that mksigtab.sh found signal 32 somewhere.  Where did that
come from?

(Changing signal.h is not going to be the right approach.)


> BTW, removing the "_thread" definition results in the following.
> 
> runtime_sysinfo.go:516:36: error: use of undefined type '_thread'
>   516 | type _cv_waitq struct { tqh_first *_thread; tqh_last **_thread; }
>       |                                    ^
> 
> However, I don't see any other references to "__cv_waitq" in the code.

Add it to the fgrep -v in mkrsysinfo.sh.  The names like _thread and _cv_waitq
are coming from system header files, not from Go code.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug go/86535] FreeBSD/PowerPC64 - Building Go Frontend support for gcc 7.3.0 fails
       [not found] <bug-86535-4@http.gcc.gnu.org/bugzilla/>
                   ` (7 preceding siblings ...)
  2020-08-08  0:05 ` ian at airs dot com
@ 2020-08-08 15:43 ` clhamilto at gmail dot com
  2020-08-08 16:09 ` ian at airs dot com
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 13+ messages in thread
From: clhamilto at gmail dot com @ 2020-08-08 15:43 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86535

--- Comment #34 from Curtis Hamilton <clhamilto at gmail dot com> ---
Do you know if anyone has actively worked on the BSD code recently?

I'm abandoning my effort go get this working on freebsd. I'm not a really a
programmer and this is beyond my meager abilities. 

So unless this is interest in further exploration, I'm going to close this
issue.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug go/86535] FreeBSD/PowerPC64 - Building Go Frontend support for gcc 7.3.0 fails
       [not found] <bug-86535-4@http.gcc.gnu.org/bugzilla/>
                   ` (8 preceding siblings ...)
  2020-08-08 15:43 ` clhamilto at gmail dot com
@ 2020-08-08 16:09 ` ian at airs dot com
  2023-12-11 10:04 ` ro at gcc dot gnu.org
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 13+ messages in thread
From: ian at airs dot com @ 2020-08-08 16:09 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86535

--- Comment #35 from Ian Lance Taylor <ian at airs dot com> ---
I don't know that anybody has looked at the BSD support recently.

Thanks for your efforts.  I agree that this is work for a programmer.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug go/86535] FreeBSD/PowerPC64 - Building Go Frontend support for gcc 7.3.0 fails
       [not found] <bug-86535-4@http.gcc.gnu.org/bugzilla/>
                   ` (9 preceding siblings ...)
  2020-08-08 16:09 ` ian at airs dot com
@ 2023-12-11 10:04 ` ro at gcc dot gnu.org
  2023-12-14 21:18 ` ian at airs dot com
  2023-12-21 12:42 ` ro at CeBiTec dot Uni-Bielefeld.DE
  12 siblings, 0 replies; 13+ messages in thread
From: ro at gcc dot gnu.org @ 2023-12-11 10:04 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86535

Rainer Orth <ro at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
                 CC|                            |andreast at gcc dot gnu.org,
                   |                            |ro at gcc dot gnu.org
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2023-12-11

--- Comment #36 from Rainer Orth <ro at gcc dot gnu.org> ---
I originally ran into this issue in GCC 9, and now again on trunk: nothing
happened in years.  I find it extremely frustrating to regularly fall into this
trap as a non-FreeBSD developer just trying to build trunk to test a patch.

How about disabling the libgo build on FreeBSD along the lines of the various
lib*/configure.tgt files?

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug go/86535] FreeBSD/PowerPC64 - Building Go Frontend support for gcc 7.3.0 fails
       [not found] <bug-86535-4@http.gcc.gnu.org/bugzilla/>
                   ` (10 preceding siblings ...)
  2023-12-11 10:04 ` ro at gcc dot gnu.org
@ 2023-12-14 21:18 ` ian at airs dot com
  2023-12-21 12:42 ` ro at CeBiTec dot Uni-Bielefeld.DE
  12 siblings, 0 replies; 13+ messages in thread
From: ian at airs dot com @ 2023-12-14 21:18 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86535

--- Comment #37 from Ian Lance Taylor <ian at airs dot com> ---
Search for this comment in the top-level configure.ac file.

# Disable libgo for some systems where it is known to not work.
# For testing, you can easily override this with --enable-libgo.

That said if you don't configure with --enable-languages=go then you shouldn't
get libgo.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug go/86535] FreeBSD/PowerPC64 - Building Go Frontend support for gcc 7.3.0 fails
       [not found] <bug-86535-4@http.gcc.gnu.org/bugzilla/>
                   ` (11 preceding siblings ...)
  2023-12-14 21:18 ` ian at airs dot com
@ 2023-12-21 12:42 ` ro at CeBiTec dot Uni-Bielefeld.DE
  12 siblings, 0 replies; 13+ messages in thread
From: ro at CeBiTec dot Uni-Bielefeld.DE @ 2023-12-21 12:42 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86535

--- Comment #38 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> ---
> --- Comment #37 from Ian Lance Taylor <ian at airs dot com> ---
> Search for this comment in the top-level configure.ac file.
>
> # Disable libgo for some systems where it is known to not work.
> # For testing, you can easily override this with --enable-libgo.

Ah, I'd missed that, being more used to the various lib*/configure.tgt
files.  The disadvantage of having this in the toplevel configure.ac is
that this file is shared with binutils-gdb.

> That said if you don't configure with --enable-languages=go then you shouldn't
> get libgo.

True.  However, I did configure with --enable-languages=all (which
expanded to c,ada,c++,d,fortran,go,lto,m2,objc,obj-c++,rust).
Unfortunately, we lack a --disable-languages=<list>, so you need to use
--enable-languages=<all of the above except go>, which is guaranteed to
break (or rather miss new languages) as has happened to me for m2 and
rust.

It's best if GCC self-defends against configurations which are known not
to work instead of having developers run into the trap first ;-)

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2023-12-21 12:42 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-86535-4@http.gcc.gnu.org/bugzilla/>
2020-08-07 13:36 ` [Bug go/86535] FreeBSD/PowerPC64 - Building Go Frontend support for gcc 7.3.0 fails clhamilto at gmail dot com
2020-08-07 16:08 ` ian at airs dot com
2020-08-07 16:54 ` clhamilto at gmail dot com
2020-08-07 17:46 ` ian at airs dot com
2020-08-07 18:01 ` clhamilto at gmail dot com
2020-08-07 18:37 ` ian at airs dot com
2020-08-07 23:04 ` clhamilto at gmail dot com
2020-08-08  0:05 ` ian at airs dot com
2020-08-08 15:43 ` clhamilto at gmail dot com
2020-08-08 16:09 ` ian at airs dot com
2023-12-11 10:04 ` ro at gcc dot gnu.org
2023-12-14 21:18 ` ian at airs dot com
2023-12-21 12:42 ` ro at CeBiTec dot Uni-Bielefeld.DE

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).