David Daney <dda...@caviumnetworks.com> writes:

> In trying to build libgo on mips64-linux we try to build all three
> multilibs (o32, n32 and n64 ABIs)
>
> For the n32 ABI, the configure script generates syscall_arch.go:
> -----------
> package syscall
> const ARCH = "mips64"
> const OS = "linux"
> -----------
>
> The Makefile has GOARCH = mips64, so it is trying to compile my new
> syscalls/syscall_linux_mips64.go.
>
> So far so good.
>
> But now what will happen for the n64 ABI?  It has the exact same
> GOARCH. This is not good because n64 will need a different
> syscalls/syscall_linux_${GOARCH}.go
>
> Actually I think my syscall_linux_mips.go can be shared between both
> the o32 and n32 libraries.
>
> How to sort this out?

I guess ARCH == mips64 is going to be appropriate for any 64-bit MIPS
target.  If you need a different syscall_linux_${GOARCH} file for
different mips64 targets, then I think we're going to need to test some
conditional in libgo/Makefile.am to add the file to build.  E.g., look
at syscall_filesize_file.

Ian

Reply via email to