]> sourceware.org Git - glibc.git/commitdiff
LoongArch: Add RSEQ_SIG in rseq.h. master
authorcaiyinyu <caiyinyu@loongson.cn>
Sat, 26 Oct 2024 08:33:07 +0000 (16:33 +0800)
committercaiyinyu <caiyinyu@loongson.cn>
Fri, 1 Nov 2024 02:41:20 +0000 (10:41 +0800)
Signed-off-by: caiyinyu <caiyinyu@loongson.cn>
sysdeps/unix/sysv/linux/loongarch/bits/rseq.h [new file with mode: 0644]

diff --git a/sysdeps/unix/sysv/linux/loongarch/bits/rseq.h b/sysdeps/unix/sysv/linux/loongarch/bits/rseq.h
new file mode 100644 (file)
index 0000000..7468a05
--- /dev/null
@@ -0,0 +1,36 @@
+/* Restartable Sequences Linux LoongArch architecture header.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_RSEQ_H
+# error "Never use <bits/rseq.h> directly; include <sys/rseq.h> instead."
+#endif
+
+/* RSEQ_SIG is a signature required before each abort handler code.
+
+   It is a 32-bit value that maps to actual architecture code compiled
+   into applications and libraries.  It needs to be defined for each
+   architecture.  When choosing this value, it needs to be taken into
+   account that generating invalid instructions may have ill effects on
+   tools like objdump, and may also have impact on the CPU speculative
+   execution efficiency in some cases.
+
+   RSEQ_SIG uses the following break instruction:
+
+   0x002a0010  break   0x10
+*/
+
+#define RSEQ_SIG        0x002a0010
This page took 0.047837 seconds and 5 git commands to generate.