diff options
author | Maciej Barć <xgqt@gentoo.org> | 2024-10-14 23:20:01 +0200 |
---|---|---|
committer | Maciej Barć <xgqt@gentoo.org> | 2024-10-15 00:08:11 +0200 |
commit | 2333489f5e52d64cfcdf0882f324e2a76aa6ec93 (patch) | |
tree | ae60f8397a644650bebf00fc6f70cedcb108f190 /dev-scheme | |
parent | media-gfx/imagemagick: Stabilize 6.9.13.16-r1 sparc, #941431 (diff) | |
download | gentoo-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.patch | 29 | ||||
-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() { |