aboutsummaryrefslogtreecommitdiff
path: root/libgo
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2019-10-04 19:54:25 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2019-10-04 19:54:25 +0000
commitf67dc76907675065f34ed0bd14915df8d0b63b2d (patch)
treee5b8c8a1488b30e41d0039391145aeb734ef6f6f /libgo
parent58a73f6da5d0ed7dc1b04cbfb90c0205a3c50e3f (diff)
parent69b35f396ceb22e2e04b4228a6811291621808c1 (diff)
downloadgcc-f67dc76907675065f34ed0bd14915df8d0b63b2d.zip
gcc-f67dc76907675065f34ed0bd14915df8d0b63b2d.tar.gz
gcc-f67dc76907675065f34ed0bd14915df8d0b63b2d.tar.bz2
Merge from trunk revision 276594.
From-SVN: r276599
Diffstat (limited to 'libgo')
-rwxr-xr-xlibgo/mkrsysinfo.sh6
-rwxr-xr-xlibgo/mksysinfo.sh6
-rw-r--r--libgo/runtime/go-context.S4
-rw-r--r--libgo/sysinfo.c4
4 files changed, 20 insertions, 0 deletions
diff --git a/libgo/mkrsysinfo.sh b/libgo/mkrsysinfo.sh
index 0a5e29e..c28f0e5 100755
--- a/libgo/mkrsysinfo.sh
+++ b/libgo/mkrsysinfo.sh
@@ -209,3 +209,9 @@ grep '^type _kevent ' gen-sysinfo.go | \
sed -e s'/_kevent/keventt/' \
-e 's/ udata [^;}]*/ udata *byte/' \
>> ${OUT}
+
+# Type 'uint128' is needed in a couple of type definitions on arm64,such
+# as _user_fpsimd_struct, _elf_fpregset_t, etc.
+if ! grep '^type uint128' ${OUT} > /dev/null 2>&1; then
+ echo "type uint128 [16]byte" >> ${OUT}
+fi
diff --git a/libgo/mksysinfo.sh b/libgo/mksysinfo.sh
index d616bd8..488b223 100755
--- a/libgo/mksysinfo.sh
+++ b/libgo/mksysinfo.sh
@@ -1393,4 +1393,10 @@ grep '^type _mactun_info_t ' gen-sysinfo.go | \
sed -e 's/_in6_addr_t/[16]byte/g' \
>> ${OUT}
+# Type 'uint128' is needed in a couple of type definitions on arm64,such
+# as _user_fpsimd_struct, _elf_fpregset_t, etc.
+if ! grep '^type uint128' ${OUT} > /dev/null 2>&1; then
+ echo "type uint128 [16]byte" >> ${OUT}
+fi
+
exit $?
diff --git a/libgo/runtime/go-context.S b/libgo/runtime/go-context.S
index 8beeebf..170bced 100644
--- a/libgo/runtime/go-context.S
+++ b/libgo/runtime/go-context.S
@@ -66,4 +66,8 @@ __go_makecontext:
ret
+ .section .note.GNU-stack,"",@progbits
+ .section .note.GNU-split-stack,"",@progbits
+ .section .note.GNU-no-split-stack,"",@progbits
+
#endif
diff --git a/libgo/sysinfo.c b/libgo/sysinfo.c
index 4ab798c..0692fd4 100644
--- a/libgo/sysinfo.c
+++ b/libgo/sysinfo.c
@@ -424,7 +424,11 @@ EREF(MNT_FORCE);
#if defined(HAVE_SYS_PTRACE_H)
// From <sys/ptrace.h>
+#if defined (__aarch64__)
+SREF(user_pt_regs);
+#else
SREF(pt_regs);
+#endif
EREF(PTRACE_PEEKTEXT);
#endif