mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
* gnu/packages/patches/dtc-fix-test.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/bootloaders.scm (dtc)[source]: Use it. Change-Id: I70d593ff55c677df9aae46ba289a0888bab73f12
38 lines
1.3 KiB
Diff
38 lines
1.3 KiB
Diff
from https://git.kernel.org/pub/scm/utils/dtc/dtc.git/patch/?id=ce1d8588880aecd7af264e422a16a8b33617cef7
|
|
|
|
From ce1d8588880aecd7af264e422a16a8b33617cef7 Mon Sep 17 00:00:00 2001
|
|
From: David Gibson <david@gibson.dropbear.id.au>
|
|
Date: Wed, 5 Feb 2025 13:39:43 +1100
|
|
Subject: [PATCH] tests: When building .so from -O asm output mark as
|
|
non-executable stack
|
|
|
|
For certain tests, we take the output from dtc -O asm and build it into
|
|
a .so shared library which we then dlopen() for further tests. Because we
|
|
don't mark it otherwise, it's treated as requiring an executable stack,
|
|
which dlopen() refuses to open as of glibc-2.41.
|
|
|
|
Of course, the library is pure data, no code, so it certainly doesn't need
|
|
an executable stack. Add the -znoexecstack linker option to avoid the
|
|
error.
|
|
|
|
Fixes: https://github.com/dgibson/dtc/issues/163
|
|
|
|
Reported-by: Xi Ruoyao <xry111@xry111.site>
|
|
Signed-off-by: David Gibson <david@gibson.dropbear.id.a>
|
|
---
|
|
tests/run_tests.sh | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/tests/run_tests.sh b/tests/run_tests.sh
|
|
index 937b1288..f0b51c04 100755
|
|
--- a/tests/run_tests.sh
|
|
+++ b/tests/run_tests.sh
|
|
@@ -201,7 +201,7 @@ run_dtc_test () {
|
|
}
|
|
|
|
asm_to_so () {
|
|
- $CC -shared -o $1.test.so "$SRCDIR/data.S" $1.test.s
|
|
+ $CC -shared -Wl,-znoexecstack -o $1.test.so "$SRCDIR/data.S" $1.test.s
|
|
}
|
|
|
|
asm_to_so_test () {
|