aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/go/gofrontend/MERGE2
-rwxr-xr-xlibgo/mkrsysinfo.sh6
-rwxr-xr-xlibgo/mksysinfo.sh6
-rw-r--r--libgo/sysinfo.c4
4 files changed, 17 insertions, 1 deletions
diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE
index 4b7a4b3..330c458 100644
--- a/gcc/go/gofrontend/MERGE
+++ b/gcc/go/gofrontend/MERGE
@@ -1,4 +1,4 @@
-09ca3c1ea8a52b5d3d6c4331c59d44e0b6bfab57
+d81ff42c367cce2110ccf5ddbadb6cc9bdf94e28
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.
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/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