forked from pool/libffi
Compare commits
41 Commits
Author | SHA256 | Date | |
---|---|---|---|
fbfd4ebdc4 | |||
0d164d0afb | |||
4c23af4e71 | |||
e49b5dac7f | |||
0791d1e60d | |||
44c8a9fae3 | |||
74d1b2c03c | |||
e774654c11 | |||
d268898770 | |||
d399f65a6b | |||
|
80bd7df03c | ||
439365f06e | |||
|
16006e09f8 | ||
9c4f6cb9b5 | |||
a183ac23af | |||
7b738b5d02 | |||
8f82f6a995 | |||
c59f6e6e4d | |||
bd630d9f13 | |||
003d52cbdd | |||
1bc1343f47 | |||
b8c444b10c | |||
48d02f6cc7 | |||
10c879366e | |||
f32a3fdc9d | |||
0b55eca728 | |||
952ee82f23 | |||
2a0bc0da01 | |||
9afec3146a | |||
15abff891c | |||
c8bd4caf53 | |||
7f7a722dbf | |||
4eea312941 | |||
336b66e725 | |||
a1a41c4a84 | |||
9a9ac38c26 | |||
|
b9f99b45e4 | ||
f4afc3e2b1 | |||
018ba25090 | |||
3baacb9c8d | |||
b61715263f |
89
830.patch
89
830.patch
@@ -1,89 +0,0 @@
|
|||||||
From 38d1c9d783b2c3b2b271e66a712962ffbbf7b9a5 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Bill Roberts <bill.roberts@arm.com>
|
|
||||||
Date: Thu, 7 Mar 2024 13:07:29 -0600
|
|
||||||
Subject: [PATCH 1/3] bti: add identifier to ffi_closure_SYSV_V_alt
|
|
||||||
|
|
||||||
This was missing BTI_C identifier.
|
|
||||||
|
|
||||||
Old Code:
|
|
||||||
ffi_closure_SYSV_V_alt:
|
|
||||||
0000fffff7f70500: ldr x17, [sp, #8]
|
|
||||||
|
|
||||||
Signed-off-by: Bill Roberts <bill.roberts@arm.com>
|
|
||||||
---
|
|
||||||
src/aarch64/sysv.S | 2 ++
|
|
||||||
1 file changed, 2 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/src/aarch64/sysv.S b/src/aarch64/sysv.S
|
|
||||||
index fdd0e8b7..ba49aa13 100644
|
|
||||||
--- a/src/aarch64/sysv.S
|
|
||||||
+++ b/src/aarch64/sysv.S
|
|
||||||
@@ -527,6 +527,7 @@ L(do_closure):
|
|
||||||
#if defined(FFI_EXEC_STATIC_TRAMP)
|
|
||||||
.align 4
|
|
||||||
CNAME(ffi_closure_SYSV_V_alt):
|
|
||||||
+ BTI_C
|
|
||||||
/* See the comments above trampoline_code_table. */
|
|
||||||
ldr x17, [sp, #8] /* Load closure in x17 */
|
|
||||||
add sp, sp, #16 /* Restore the stack */
|
|
||||||
@@ -541,6 +542,7 @@ CNAME(ffi_closure_SYSV_V_alt):
|
|
||||||
|
|
||||||
.align 4
|
|
||||||
CNAME(ffi_closure_SYSV_alt):
|
|
||||||
+ BTI_C
|
|
||||||
/* See the comments above trampoline_code_table. */
|
|
||||||
ldr x17, [sp, #8] /* Load closure in x17 */
|
|
||||||
add sp, sp, #16 /* Restore the stack */
|
|
||||||
|
|
||||||
From da2376df7618356e9ab792a8a3cc17ba02a3108a Mon Sep 17 00:00:00 2001
|
|
||||||
From: Bill Roberts <bill.roberts@arm.com>
|
|
||||||
Date: Thu, 7 Mar 2024 13:07:34 -0600
|
|
||||||
Subject: [PATCH 2/3] testsuite: fix whitespace in Makefile.am
|
|
||||||
|
|
||||||
Signed-off-by: Bill Roberts <bill.roberts@arm.com>
|
|
||||||
---
|
|
||||||
testsuite/Makefile.am | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/testsuite/Makefile.am b/testsuite/Makefile.am
|
|
||||||
index d286cf7f..6ba98e12 100644
|
|
||||||
--- a/testsuite/Makefile.am
|
|
||||||
+++ b/testsuite/Makefile.am
|
|
||||||
@@ -8,7 +8,7 @@ CLEANFILES = *.exe core* *.log *.sum
|
|
||||||
|
|
||||||
EXTRA_DIST = config/default.exp emscripten/build.sh emscripten/conftest.py \
|
|
||||||
emscripten/node-tests.sh emscripten/test.html emscripten/test_libffi.py \
|
|
||||||
- emscripten/build-tests.sh lib/libffi.exp lib/target-libpath.exp \
|
|
||||||
+ emscripten/build-tests.sh lib/libffi.exp lib/target-libpath.exp \
|
|
||||||
lib/wrapper.exp libffi.bhaible/Makefile libffi.bhaible/README \
|
|
||||||
libffi.bhaible/alignof.h libffi.bhaible/bhaible.exp libffi.bhaible/test-call.c \
|
|
||||||
libffi.bhaible/test-callback.c libffi.bhaible/testcases.c libffi.call/align_mixed.c \
|
|
||||||
|
|
||||||
From 243fc9e2a1ebcf60a90652ac1e0bc82a945760a5 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Bill Roberts <bill.roberts@arm.com>
|
|
||||||
Date: Thu, 7 Mar 2024 13:03:13 -0600
|
|
||||||
Subject: [PATCH 3/3] aarch64: correct comment describing BTI
|
|
||||||
|
|
||||||
The comment is incorrect, BTI is enabled per mapping via mprotect with
|
|
||||||
PROT_BTI flag set, not per-process. When the loader loads the library,
|
|
||||||
if the GNU Notes section is missing this, PROT_BTI will not be enabled
|
|
||||||
for that mapping, but is independent of other mappings.
|
|
||||||
|
|
||||||
Signed-off-by: Bill Roberts <bill.roberts@arm.com>
|
|
||||||
---
|
|
||||||
src/aarch64/sysv.S | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/aarch64/sysv.S b/src/aarch64/sysv.S
|
|
||||||
index ba49aa13..60cfa505 100644
|
|
||||||
--- a/src/aarch64/sysv.S
|
|
||||||
+++ b/src/aarch64/sysv.S
|
|
||||||
@@ -68,7 +68,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
|
||||||
#define BTI_J hint #36
|
|
||||||
/*
|
|
||||||
* The ELF Notes section needs to indicate if BTI is supported, as the first ELF loaded that doesn't
|
|
||||||
- * declare this support disables it for the whole process.
|
|
||||||
+ * declare this support disables it for memory region containing the loaded library.
|
|
||||||
*/
|
|
||||||
# define GNU_PROPERTY_AARCH64_BTI (1 << 0) /* Has Branch Target Identification */
|
|
||||||
.text
|
|
BIN
libffi-3.4.6.tar.gz
(Stored with Git LFS)
BIN
libffi-3.4.6.tar.gz
(Stored with Git LFS)
Binary file not shown.
Reference in New Issue
Block a user