commit:     1c99f90388ef5e47055c6a3bf400b4a0c96065b1
Author:     Lucio Sauer <watermanpaint <AT> posteo <DOT> net>
AuthorDate: Sun Sep 17 21:09:44 2023 +0000
Commit:     Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Sun Sep 17 22:39:18 2023 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=1c99f903

media-libs/libbpg: add noexec .note.GNU-stack sections for elf32 and elf64

Closes: https://bugs.gentoo.org/787686
Signed-off-by: Lucio Sauer <watermanpaint <AT> posteo.net>

 .../libbpg-0.9.8-backport-GNU-stack-note-fix.patch | 24 ++++++++++++++++++++++
 media-libs/libbpg/libbpg-0.9.8-r1.ebuild           |  1 +
 2 files changed, 25 insertions(+)

diff --git 
a/media-libs/libbpg/files/libbpg-0.9.8-backport-GNU-stack-note-fix.patch 
b/media-libs/libbpg/files/libbpg-0.9.8-backport-GNU-stack-note-fix.patch
new file mode 100644
index 0000000000..a09aada159
--- /dev/null
+++ b/media-libs/libbpg/files/libbpg-0.9.8-backport-GNU-stack-note-fix.patch
@@ -0,0 +1,24 @@
+Excerpt of a commit in media-libs/x265. If the GNU stack note is not added the
+GNU linker assumes the stack is executable by default.
+commit 3b49d65f07ce07c68c88fa2ddfbaab295a28ca0b
+Author: Vignesh Vijayakumar <vign...@multicorewareinc.com>
+Date:   Thu Nov 2 09:40:41 2017 +0530
+
+    x86: Change assembler from YASM to NASM
+
+    Supports NASM versions 2.13 and greater
+--- a/x265/source/common/x86/x86inc.asm
++++ b/x265/source/common/x86/x86inc.asm
+@@ -724,6 +724,12 @@ BRANCH_INSTR jz, je, jnz, jne, jl, jle, jnl, jnle, jg, 
jge, jng, jnge, ja, jae,
+ %ifidn __OUTPUT_FORMAT__,elf
+ SECTION .note.GNU-stack noalloc noexec nowrite progbits
+ %endif
++%ifidn __OUTPUT_FORMAT__,elf32
++section .note.GNU-stack noalloc noexec nowrite progbits
++%endif
++%ifidn __OUTPUT_FORMAT__,elf64
++section .note.GNU-stack noalloc noexec nowrite progbits
++%endif
+ 
+ ; cpuflags
+ 

diff --git a/media-libs/libbpg/libbpg-0.9.8-r1.ebuild 
b/media-libs/libbpg/libbpg-0.9.8-r1.ebuild
index f26e4d095b..bba7f2fb63 100644
--- a/media-libs/libbpg/libbpg-0.9.8-r1.ebuild
+++ b/media-libs/libbpg/libbpg-0.9.8-r1.ebuild
@@ -36,6 +36,7 @@ IUSE="bpgview jctvc"
 PATCHES=(
        "${FILESDIR}"/${P}-add-chost.patch
        "${FILESDIR}"/${P}-add-fpic.patch
+       "${FILESDIR}"/${P}-backport-GNU-stack-note-fix.patch
        "${FILESDIR}"/${P}-dont-strip-bins.patch
        "${FILESDIR}"/${P}-remove-forced-options.patch
        "${FILESDIR}"/${P}-remove-unused-cmake-var.patch

Reply via email to