mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-11 18:20:47 +08:00
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
This commit is contained in:
parent
6693898454
commit
dd554b787d
@ -1,4 +1,4 @@
|
||||
e7b98cf0a380eb45791cd5c52897224a686dcdec
|
||||
944784a93cf89d3a238e5607c993ea5f18f99c12
|
||||
|
||||
The first line of this file holds the git revision number of the last
|
||||
merge done from the gofrontend repository.
|
||||
|
@ -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")
|
||||
|
@ -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}
|
||||
|
Loading…
Reference in New Issue
Block a user