diff options
author | Viorel Munteanu <ceamac@gentoo.org> | 2023-01-02 18:23:03 +0200 |
---|---|---|
committer | Viorel Munteanu <ceamac@gentoo.org> | 2023-01-02 18:29:39 +0200 |
commit | 1c7a04ecf47d2ec93dc6acc13d8d2dbe78ded1ce (patch) | |
tree | 1832c879038faf36aba1e77807f3c1569e156a56 | |
parent | sci-libs/pyshp: Add missing test dep (diff) | |
download | gentoo-1c7a04ec.tar.gz gentoo-1c7a04ec.tar.bz2 gentoo-1c7a04ec.zip |
media-libs/netpbm: fix compilation with clang -O2
Closes: https://bugs.gentoo.org/885561
Signed-off-by: Viorel Munteanu <ceamac@gentoo.org>
-rw-r--r-- | media-libs/netpbm/files/netpbm-11.1.0-fix-clang-O2.patch | 26 | ||||
-rw-r--r-- | media-libs/netpbm/netpbm-11.1.0-r1.ebuild (renamed from media-libs/netpbm/netpbm-11.1.0.ebuild) | 5 |
2 files changed, 28 insertions, 3 deletions
diff --git a/media-libs/netpbm/files/netpbm-11.1.0-fix-clang-O2.patch b/media-libs/netpbm/files/netpbm-11.1.0-fix-clang-O2.patch new file mode 100644 index 000000000000..4427676b9b35 --- /dev/null +++ b/media-libs/netpbm/files/netpbm-11.1.0-fix-clang-O2.patch @@ -0,0 +1,26 @@ +When compiling with clang and -O2, local variable origJmpbufP with value +changed after setjmp contains garbage after longjmp. + +According to glibc documentation, making it volatile should have fixed the +issue, but it didn't. Static outside the function works. + +Bug: https://bugs.gentoo.org/885561 + +--- a/lib/libpamread.c ++++ b/lib/libpamread.c +@@ -25,6 +25,7 @@ + #include "fileio.h" + #include "pam.h" + ++static jmp_buf * origJmpbufP = NULL; + + static void + readPbmRow(const struct pam * const pamP, +@@ -35,7 +36,6 @@ + "It says PBM format, but 'depth' member is not 1."); + else { + jmp_buf jmpbuf; +- jmp_buf * origJmpbufP; + unsigned char * bitrow; + + bitrow = (unsigned char *) pbm_allocrow(pbm_packed_bytes(pamP->width)); diff --git a/media-libs/netpbm/netpbm-11.1.0.ebuild b/media-libs/netpbm/netpbm-11.1.0-r1.ebuild index 7d44b7a5bd79..321a76b14293 100644 --- a/media-libs/netpbm/netpbm-11.1.0.ebuild +++ b/media-libs/netpbm/netpbm-11.1.0-r1.ebuild @@ -42,16 +42,14 @@ RDEPEND=" ) rle? ( media-libs/urt:= ) svga? ( media-libs/svgalib ) - tiff? ( >=media-libs/tiff-3.5.5:= ) + tiff? ( media-libs/tiff ) xml? ( dev-libs/libxml2 ) X? ( x11-libs/libX11 ) " - DEPEND=" ${RDEPEND} x11-base/xorg-proto " - BDEPEND=" app-arch/xz-utils sys-devel/flex @@ -61,6 +59,7 @@ BDEPEND=" PATCHES=( "${FILESDIR}"/netpbm-10.86.21-build.patch "${FILESDIR}"/netpbm-11.0.0-misc-deps.patch + "${FILESDIR}"/netpbm-11.1.0-fix-clang-O2.patch ) netpbm_libtype() { |