aboutsummaryrefslogtreecommitdiff
path: root/libgo
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2018-09-26 15:17:30 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2018-09-26 15:17:30 +0000
commitdd554b787d0280566e891dba9e19dd718e68d42a (patch)
tree57f5e1807370604954ab0338603cc0503a68178b /libgo
parent6693898454936b07c7e003de872149b4201e940c (diff)
downloadgcc-dd554b787d0280566e891dba9e19dd718e68d42a.zip
gcc-dd554b787d0280566e891dba9e19dd718e68d42a.tar.gz
gcc-dd554b787d0280566e891dba9e19dd718e68d42a.tar.bz2
syscall: don't assume we have a GETEUID system call
On Alpha GNU/Linux there is no geteuid system call, there is only getresuid. The raw geteuid system call is only used for testing, so just skip the test if it's not available. Reviewed-on: https://go-review.googlesource.com/137655 From-SVN: r264647
Diffstat (limited to 'libgo')
-rw-r--r--libgo/go/syscall/syscall_linux_test.go4
-rwxr-xr-xlibgo/mksysinfo.sh6
2 files changed, 10 insertions, 0 deletions
diff --git a/libgo/go/syscall/syscall_linux_test.go b/libgo/go/syscall/syscall_linux_test.go
index 99de6eb..77a822d 100644
--- a/libgo/go/syscall/syscall_linux_test.go
+++ b/libgo/go/syscall/syscall_linux_test.go
@@ -302,6 +302,10 @@ func TestSyscallNoError(t *testing.T) {
t.Skip("skipping root only test")
}
+ if syscall.Sys_GETEUID == 0 {
+ t.Skip("skipping because there is no geteuid system call")
+ }
+
// Copy the test binary to a location that a non-root user can read/execute
// after we drop privileges
tempDir, err := ioutil.TempDir("", "TestSyscallNoError")
diff --git a/libgo/mksysinfo.sh b/libgo/mksysinfo.sh
index b9436ef..b7b9fdc 100755
--- a/libgo/mksysinfo.sh
+++ b/libgo/mksysinfo.sh
@@ -138,6 +138,12 @@ if ! grep '^const SYS_GETDENTS64 ' ${OUT} >/dev/null 2>&1; then
echo "const SYS_GETDENTS64 = 0" >> ${OUT}
fi
+# The syscall package wants the geteuid system call number. It isn't
+# defined on Alpha, which only provides the getresuid system call.
+if ! grep '^const SYS_GETEUID ' ${OUT} >/dev/null 2>&1; then
+ echo "const SYS_GETEUID = 0" >> ${OUT}
+fi
+
# Stat constants.
grep '^const _S_' gen-sysinfo.go | \
sed -e 's/^\(const \)_\(S_[^= ]*\)\(.*\)$/\1\2 = _\2/' >> ${OUT}