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 The first line of this file holds the git revision number of the last
merge done from the gofrontend repository. 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_MIPS_TRUE
LIBGO_IS_M68K_FALSE LIBGO_IS_M68K_FALSE
LIBGO_IS_M68K_TRUE LIBGO_IS_M68K_TRUE
LIBGO_IS_IA64_FALSE
LIBGO_IS_IA64_TRUE
LIBGO_IS_ARM64_FALSE LIBGO_IS_ARM64_FALSE
LIBGO_IS_ARM64_TRUE LIBGO_IS_ARM64_TRUE
LIBGO_IS_ARM_FALSE LIBGO_IS_ARM_FALSE
@ -11128,7 +11130,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF cat > conftest.$ac_ext <<_LT_EOF
#line 11131 "configure" #line 11133 "configure"
#include "confdefs.h" #include "confdefs.h"
#if HAVE_DLFCN_H #if HAVE_DLFCN_H
@ -11234,7 +11236,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF cat > conftest.$ac_ext <<_LT_EOF
#line 11237 "configure" #line 11239 "configure"
#include "confdefs.h" #include "confdefs.h"
#if HAVE_DLFCN_H #if HAVE_DLFCN_H
@ -13635,6 +13637,7 @@ is_386=no
is_alpha=no is_alpha=no
is_arm=no is_arm=no
is_arm64=no is_arm64=no
is_ia64=no
is_m68k=no is_m68k=no
mips_abi=unknown mips_abi=unknown
is_ppc=no is_ppc=no
@ -13679,6 +13682,10 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
GOARCH=amd64 GOARCH=amd64
fi fi
;; ;;
ia64-*-*)
is_ia64=yes
GOARCH=ia64
;;
m68k*-*-*) m68k*-*-*)
is_m68k=yes is_m68k=yes
GOARCH=m68k GOARCH=m68k
@ -13848,6 +13855,14 @@ else
LIBGO_IS_ARM64_FALSE= LIBGO_IS_ARM64_FALSE=
fi 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 if test $is_m68k = yes; then
LIBGO_IS_M68K_TRUE= LIBGO_IS_M68K_TRUE=
LIBGO_IS_M68K_FALSE='#' 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. as_fn_error "conditional \"LIBGO_IS_ARM64\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5 Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi 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 if test -z "${LIBGO_IS_M68K_TRUE}" && test -z "${LIBGO_IS_M68K_FALSE}"; then
as_fn_error "conditional \"LIBGO_IS_M68K\" was never defined. as_fn_error "conditional \"LIBGO_IS_M68K\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5 Usually this means the macro was only invoked conditionally." "$LINENO" 5

View File

@ -191,6 +191,7 @@ is_386=no
is_alpha=no is_alpha=no
is_arm=no is_arm=no
is_arm64=no is_arm64=no
is_ia64=no
is_m68k=no is_m68k=no
mips_abi=unknown mips_abi=unknown
is_ppc=no is_ppc=no
@ -229,6 +230,10 @@ changequote([,])dnl
GOARCH=amd64 GOARCH=amd64
fi fi
;; ;;
ia64-*-*)
is_ia64=yes
GOARCH=ia64
;;
m68k*-*-*) m68k*-*-*)
is_m68k=yes is_m68k=yes
GOARCH=m68k 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_ALPHA, test $is_alpha = yes)
AM_CONDITIONAL(LIBGO_IS_ARM, test $is_arm = yes) AM_CONDITIONAL(LIBGO_IS_ARM, test $is_arm = yes)
AM_CONDITIONAL(LIBGO_IS_ARM64, test $is_arm64 = 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_M68K, test $is_m68k = yes)
AM_CONDITIONAL(LIBGO_IS_MIPS, test $mips_abi != unknown) AM_CONDITIONAL(LIBGO_IS_MIPS, test $mips_abi != unknown)
AM_CONDITIONAL(LIBGO_IS_MIPSO32, test $mips_abi = o32) 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) android | darwin | dragonfly | freebsd | linux | nacl | netbsd | openbsd | plan9 | solaris | windows)
tag1=nonmatchingtag 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 tag1=nonmatchingtag
;; ;;
esac esac
@ -128,7 +128,7 @@ for f in $gofiles; do
android | darwin | dragonfly | freebsd | linux | nacl | netbsd | openbsd | plan9 | solaris | windows) android | darwin | dragonfly | freebsd | linux | nacl | netbsd | openbsd | plan9 | solaris | windows)
tag2=nonmatchingtag 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 tag2=nonmatchingtag
;; ;;
esac esac

View File

@ -295,7 +295,7 @@ x)
android | darwin | dragonfly | freebsd | linux | nacl | netbsd | openbsd | plan9 | solaris | windows) android | darwin | dragonfly | freebsd | linux | nacl | netbsd | openbsd | plan9 | solaris | windows)
tag1=nonmatchingtag 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 tag1=nonmatchingtag
;; ;;
esac esac
@ -307,7 +307,7 @@ x)
android | darwin | dragonfly | freebsd | linux | nacl | netbsd | openbsd | plan9 | solaris | windows) android | darwin | dragonfly | freebsd | linux | nacl | netbsd | openbsd | plan9 | solaris | windows)
tag2=nonmatchingtag 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 tag2=nonmatchingtag
;; ;;
esac esac