internal/syscall/unix: fix syscalls for alpha, ia64, s390

Also change the configure script to set GOARCH correctly for ia64, and
    add ia64 as a processor to match.sh and gotest.
    
    Reviewed-on: https://go-review.googlesource.com/25549

From-SVN: r239225
This commit is contained in:
Ian Lance Taylor 2016-08-07 22:32:46 +00:00
parent 531e5ae3cc
commit 4f8e688afc
8 changed files with 59 additions and 7 deletions

View file

@ -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.

23
libgo/configure vendored
View file

@ -660,6 +660,8 @@ LIBGO_IS_MIPS_FALSE
LIBGO_IS_MIPS_TRUE
LIBGO_IS_M68K_FALSE
LIBGO_IS_M68K_TRUE
LIBGO_IS_IA64_FALSE
LIBGO_IS_IA64_TRUE
LIBGO_IS_ARM64_FALSE
LIBGO_IS_ARM64_TRUE
LIBGO_IS_ARM_FALSE
@ -11128,7 +11130,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 11131 "configure"
#line 11133 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@ -11234,7 +11236,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 11237 "configure"
#line 11239 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@ -13635,6 +13637,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
@ -13679,6 +13682,10 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
GOARCH=amd64
fi
;;
ia64-*-*)
is_ia64=yes
GOARCH=ia64
;;
m68k*-*-*)
is_m68k=yes
GOARCH=m68k
@ -13848,6 +13855,14 @@ else
LIBGO_IS_ARM64_FALSE=
fi
if test $is_ia64 = yes; then
LIBGO_IS_IA64_TRUE=
LIBGO_IS_IA64_FALSE='#'
else
LIBGO_IS_IA64_TRUE='#'
LIBGO_IS_IA64_FALSE=
fi
if test $is_m68k = yes; then
LIBGO_IS_M68K_TRUE=
LIBGO_IS_M68K_FALSE='#'
@ -15799,6 +15814,10 @@ if test -z "${LIBGO_IS_ARM64_TRUE}" && test -z "${LIBGO_IS_ARM64_FALSE}"; then
as_fn_error "conditional \"LIBGO_IS_ARM64\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${LIBGO_IS_IA64_TRUE}" && test -z "${LIBGO_IS_IA64_FALSE}"; then
as_fn_error "conditional \"LIBGO_IS_IA64\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${LIBGO_IS_M68K_TRUE}" && test -z "${LIBGO_IS_M68K_FALSE}"; then
as_fn_error "conditional \"LIBGO_IS_M68K\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5

View file

@ -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_386 = yes)
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)

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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