On Sun, Aug 7, 2016 at 8:18 AM, Matthias Klose <d...@ubuntu.com> wrote:
> On 07.08.2016 14:14, Andreas Schwab wrote:
>> That breaks ia64:
>>
>> ../../../libgo/go/internal/syscall/unix/getrandom_linux.go:29:5: error: 
>> reference to undefined name 'randomTrap'
>>   if randomTrap == 0 {
>>      ^
>> ../../../libgo/go/internal/syscall/unix/getrandom_linux.go:38:34: error: 
>> reference to undefined name 'randomTrap'
>>   r1, _, errno := syscall.Syscall(randomTrap,
>>                                   ^
>> make[4]: *** [internal/syscall/unix.lo] Error 1
>
> same on s390x.

Thanks for the reports.  This patch should fix these problems, and
also fix the build for Alpha GNU/Linux.  Bootstrapped on
x86_64-pc-linux-gnu and verified that the ia64, s390, and alpha should
pick the right files.  Committed to mainline.

Ian
Index: gcc/go/gofrontend/MERGE
===================================================================
--- gcc/go/gofrontend/MERGE     (revision 239210)
+++ gcc/go/gofrontend/MERGE     (working copy)
@@ -1,4 +1,4 @@
-b50a0c3fa975186f934b76e25dae42eb65148d67
+eeeeff3e3dd6c09aaefdf13cce99a5beff47a095
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
Index: libgo/configure.ac
===================================================================
--- libgo/configure.ac  (revision 238743)
+++ libgo/configure.ac  (working copy)
@@ -191,6 +191,7 @@ is_386=no
 is_alpha=no
 is_arm=no
 is_arm64=no
+is_ia64=no
 is_m68k=no
 mips_abi=unknown
 is_ppc=no
@@ -229,6 +230,10 @@ changequote([,])dnl
       GOARCH=amd64
     fi
     ;;
+  ia64-*-*)
+    is_ia64=yes
+    GOARCH=ia64
+    ;;
   m68k*-*-*)
     is_m68k=yes
     GOARCH=m68k
@@ -311,6 +316,7 @@ AM_CONDITIONAL(LIBGO_IS_386, test $is_38
 AM_CONDITIONAL(LIBGO_IS_ALPHA, test $is_alpha = yes)
 AM_CONDITIONAL(LIBGO_IS_ARM, test $is_arm = yes)
 AM_CONDITIONAL(LIBGO_IS_ARM64, test $is_arm64 = yes)
+AM_CONDITIONAL(LIBGO_IS_IA64, test $is_ia64 = yes)
 AM_CONDITIONAL(LIBGO_IS_M68K, test $is_m68k = yes)
 AM_CONDITIONAL(LIBGO_IS_MIPS, test $mips_abi != unknown)
 AM_CONDITIONAL(LIBGO_IS_MIPSO32, test $mips_abi = o32)
Index: libgo/go/internal/syscall/unix/getrandom_linux_alpha.go
===================================================================
--- libgo/go/internal/syscall/unix/getrandom_linux_alpha.go     (revision 0)
+++ libgo/go/internal/syscall/unix/getrandom_linux_alpha.go     (working copy)
@@ -0,0 +1,9 @@
+// Copyright 2016 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package unix
+
+// Linux getrandom system call number.
+// See GetRandom in getrandom_linux.go.
+const randomTrap uintptr = 511
Index: libgo/go/internal/syscall/unix/getrandom_linux_ia64.go
===================================================================
--- libgo/go/internal/syscall/unix/getrandom_linux_ia64.go      (revision 0)
+++ libgo/go/internal/syscall/unix/getrandom_linux_ia64.go      (working copy)
@@ -0,0 +1,9 @@
+// Copyright 2016 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package unix
+
+// Linux getrandom system call number.
+// See GetRandom in getrandom_linux.go.
+const randomTrap uintptr = 1339
Index: libgo/go/internal/syscall/unix/getrandom_linux_s390.go
===================================================================
--- libgo/go/internal/syscall/unix/getrandom_linux_s390.go      (revision 0)
+++ libgo/go/internal/syscall/unix/getrandom_linux_s390.go      (working copy)
@@ -0,0 +1,9 @@
+// Copyright 2016 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package unix
+
+// Linux getrandom system call number.
+// See GetRandom in getrandom_linux.go.
+const randomTrap uintptr = 349
Index: libgo/match.sh
===================================================================
--- libgo/match.sh      (revision 239189)
+++ libgo/match.sh      (working copy)
@@ -116,7 +116,7 @@ for f in $gofiles; do
        android | darwin | dragonfly | freebsd | linux | nacl | netbsd | 
openbsd | plan9 | solaris | windows)
            tag1=nonmatchingtag
            ;;
-       386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | m68k | 
ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | mips64p32le | 
mipso32 | mipsn32 | mipsn64 | mipso64 | ppc | s390 | s390x | sparc | sparc64)
+       386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | ia64 | 
m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | 
mips64p32le | mipso32 | mipsn32 | mipsn64 | mipso64 | ppc | s390 | s390x | 
sparc | sparc64)
            tag1=nonmatchingtag
            ;;
     esac
@@ -128,7 +128,7 @@ for f in $gofiles; do
        android | darwin | dragonfly | freebsd | linux | nacl | netbsd | 
openbsd | plan9 | solaris | windows)
            tag2=nonmatchingtag
            ;;
-       386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | m68k | 
ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | mips64p32le | 
mipso32 | mipsn32 | mipsn64 | mipso64 | ppc | s390 | s390x | sparc | sparc64)
+       386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | ia64 | 
m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | 
mips64p32le | mipso32 | mipsn32 | mipsn64 | mipso64 | ppc | s390 | s390x | 
sparc | sparc64)
            tag2=nonmatchingtag
            ;;
     esac
Index: libgo/testsuite/gotest
===================================================================
--- libgo/testsuite/gotest      (revision 239189)
+++ libgo/testsuite/gotest      (working copy)
@@ -295,7 +295,7 @@ x)
            android | darwin | dragonfly | freebsd | linux | nacl | netbsd | 
openbsd | plan9 | solaris | windows)
                tag1=nonmatchingtag
                ;;
-           386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | 
m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | 
mips64p32le | mipso32 | mipsn32 | mipsn64 | mipso64 | ppc | s390 | s390x | 
sparc | sparc64)
+           386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | 
ia64 | m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | 
mips64p32le | mipso32 | mipsn32 | mipsn64 | mipso64 | ppc | s390 | s390x | 
sparc | sparc64)
                tag1=nonmatchingtag
                ;;
            esac
@@ -307,7 +307,7 @@ x)
            android | darwin | dragonfly | freebsd | linux | nacl | netbsd | 
openbsd | plan9 | solaris | windows)
                tag2=nonmatchingtag
                ;;
-           386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | 
m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | 
mips64p32le | mipso32 | mipsn32 | mipsn64 | mipso64 | ppc | s390 | s390x | 
sparc | sparc64)
+           386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | 
ia64 | m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | 
mips64p32le | mipso32 | mipsn32 | mipsn64 | mipso64 | ppc | s390 | s390x | 
sparc | sparc64)
                tag2=nonmatchingtag
                ;;
            esac

Reply via email to