summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej Barć <xgqt@gentoo.org>2024-10-14 23:20:01 +0200
committerMaciej Barć <xgqt@gentoo.org>2024-10-15 00:08:11 +0200
commit2333489f5e52d64cfcdf0882f324e2a76aa6ec93 (patch)
treeae60f8397a644650bebf00fc6f70cedcb108f190 /dev-scheme
parentmedia-gfx/imagemagick: Stabilize 6.9.13.16-r1 sparc, #941431 (diff)
downloadgentoo-2333489f5e52d64cfcdf0882f324e2a76aa6ec93.tar.gz
gentoo-2333489f5e52d64cfcdf0882f324e2a76aa6ec93.tar.bz2
gentoo-2333489f5e52d64cfcdf0882f324e2a76aa6ec93.zip
dev-scheme/racket: patch - repair ELF update
Closes: https://bugs.gentoo.org/929006 Signed-off-by: Maciej Barć <xgqt@gentoo.org>
Diffstat (limited to 'dev-scheme')
-rw-r--r--dev-scheme/racket/files/racket-8.14-compiler-elf.patch29
-rw-r--r--dev-scheme/racket/racket-8.14-r1.ebuild (renamed from dev-scheme/racket/racket-8.14.ebuild)4
2 files changed, 33 insertions, 0 deletions
diff --git a/dev-scheme/racket/files/racket-8.14-compiler-elf.patch b/dev-scheme/racket/files/racket-8.14-compiler-elf.patch
new file mode 100644
index 000000000000..3ba22ffca38e
--- /dev/null
+++ b/dev-scheme/racket/files/racket-8.14-compiler-elf.patch
@@ -0,0 +1,29 @@
+This was modified to make it apply for distribution tarball.
+
+From bf288da1171e884537760d2f5723ceb03840de98 Mon Sep 17 00:00:00 2001
+From: Matthew Flatt <mflatt@racket-lang.org>
+Date: Mon, 26 Aug 2024 07:42:26 -0600
+Subject: [PATCH] raco exe: repair ELF update to add a section
+
+When a NOBITS section is misinterpreted as taking up space in the
+file, and when that space would overlap with the string-constant
+update, then an incorrect update to the virtual-memory size of the
+section was planned. That adjustment, in turn, could trigger
+disallowed virtual-address shifts to PROGBITS sections that are later
+in memory, leading to a "cannot move SHT_PROGBITS section" error.
+---
+ racket/collects/compiler/private/elf.rkt | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/racket/collects/compiler/private/elf.rkt b/racket/collects/compiler/private/elf.rkt
+index c3009727cfd..a0fbef331db 100644
+--- a/collects/compiler/private/elf.rkt
++++ b/collects/compiler/private/elf.rkt
+@@ -256,6 +256,7 @@
+ (define (find-section-by-offset offset sections)
+ (for/or ([s (in-list sections)])
+ (and (section-alloc? s)
++ (not (= SHT_NOBITS (section-type s)))
+ (offset . >= . (section-offset s))
+ (offset . < . (+ (section-offset s)
+ (section-size s)))
diff --git a/dev-scheme/racket/racket-8.14.ebuild b/dev-scheme/racket/racket-8.14-r1.ebuild
index 925ecc23c2f1..368267e3d50e 100644
--- a/dev-scheme/racket/racket-8.14.ebuild
+++ b/dev-scheme/racket/racket-8.14-r1.ebuild
@@ -66,6 +66,10 @@ src_prepare() {
# Remove bundled libffi.
rm -r "${S}/bc/foreign/libffi" || die "failed to remove bundled libffi"
+
+ cd "${WORKDIR}/${P}" || die
+
+ eapply "${FILESDIR}/${P}-compiler-elf.patch"
}
src_configure() {