summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVijay Anusuri <vanusuri@mvista.com>2025-09-30 21:09:01 +0530
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-10-02 11:28:03 +0100
commite02f0d06a35ed236ba0386cc031a6189ab2f168a (patch)
tree05f2bfc25ec6fd0e0e40938150f0a98a51fce570
parent21349d54a179ac2b2ac216cc299ca9e35f0c1aab (diff)
downloadpoky-e02f0d06a35ed236ba0386cc031a6189ab2f168a.tar.gz
ghostscript: upgrade 10.05.1 -> 10.06.0
Dropped 0001-Bug-708160-Fix-compatibility-with-C23-compilers.patch Added 0001-Fix-32-bit-build.patch to fix 32-bit archs build Added fPIC flag needed to prevent a linker error during the build process. This upgrade addresses CVEs: CVE-2025-59798, CVE-2025-59799, CVE-2025-59800, CVE-2025-59801 Changelog: https://ghostscript.readthedocs.io/en/gs10.06.0/News.html (From OE-Core rev: 0144e22195394ce2b21b476a1dcfde9129eaf615) Signed-off-by: Vijay Anusuri <vanusuri@mvista.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/0001-Bug-708160-Fix-compatibility-with-C23-compilers.patch67
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/0001-Fix-32-bit-build.patch63
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript_10.06.0.bb (renamed from meta/recipes-extended/ghostscript/ghostscript_10.05.1.bb)6
3 files changed, 66 insertions, 70 deletions
diff --git a/meta/recipes-extended/ghostscript/ghostscript/0001-Bug-708160-Fix-compatibility-with-C23-compilers.patch b/meta/recipes-extended/ghostscript/ghostscript/0001-Bug-708160-Fix-compatibility-with-C23-compilers.patch
deleted file mode 100644
index 78f3fc1c34..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/0001-Bug-708160-Fix-compatibility-with-C23-compilers.patch
+++ /dev/null
@@ -1,67 +0,0 @@
1From c595086bfe206776676e290df98cd09e91210e27 Mon Sep 17 00:00:00 2001
2From: Alex Cherepanov <alex@coscript.biz>
3Date: Thu, 3 Apr 2025 17:19:41 +0100
4Subject: [PATCH] Bug 708160: Fix compatibility with C23 compilers
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9* fixes:
10 http://errors.yoctoproject.org/Errors/Details/853021/
11
12In file included from ./base/genconf.c:18:
13./base/stdpre.h:348:13: error: ‘bool’ cannot be defined via ‘typedef’
14 348 | typedef int bool;
15 | ^~~~
16./base/stdpre.h:348:13: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
17./base/stdpre.h:348:1: warning: useless type name in empty declaration
18 348 | typedef int bool;
19 | ^~~~~~~
20
21Upstream-Status: Backport [Partial backport of https://cgit.ghostscript.com/cgi-bin/cgit.cgi/ghostpdl.git/commit/base/stdpre.h?id=ae940946473ceb8c5353bc6e7f04673c6e60502d]
22
23Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
24---
25 base/stdpre.h | 6 ++++--
26 1 file changed, 4 insertions(+), 2 deletions(-)
27
28diff --git a/base/stdpre.h b/base/stdpre.h
29index dda30b6..2f9c84e 100644
30--- a/base/stdpre.h
31+++ b/base/stdpre.h
32@@ -1,4 +1,4 @@
33-/* Copyright (C) 2001-2023 Artifex Software, Inc.
34+/* Copyright (C) 2001-2025 Artifex Software, Inc.
35 All Rights Reserved.
36
37 This software is provided AS-IS with no warranty, either express or
38@@ -341,7 +341,9 @@ typedef signed char schar;
39 * and the MetroWerks C++ compiler insists that bool be equivalent to
40 * unsigned char.
41 */
42-#ifndef __cplusplus
43+
44+/* C23 has bool as a builtin type. */
45+#if !defined(__cplusplus) && (!defined(__STDC_VERSION__) || __STDC_VERSION__ < 202311L)
46 #ifdef __BEOS__
47 typedef unsigned char bool;
48 #else
49diff --git a/base/gp.h b/base/gp.h
50index ad5bb61..cf2c9cf 100644
51--- a/base/gp.h
52+++ b/base/gp.h
53@@ -1,4 +1,4 @@
54-/* Copyright (C) 2001-2023 Artifex Software, Inc.
55+/* Copyright (C) 2001-2025 Artifex Software, Inc.
56 All Rights Reserved.
57
58 This software is provided AS-IS with no warranty, either express or
59@@ -646,7 +646,7 @@ int gp_fseek_impl(FILE *strm, gs_offset_t offset, int origin);
60 /* Create a second open gp_file on the basis of a given one */
61 FILE *gp_fdup_impl(FILE *f, const char *mode);
62
63-int gp_fseekable_impl(FILE *f);
64+bool gp_fseekable_impl(FILE *f);
65
66 /* Force given file into binary mode (no eol translations, etc) */
67 /* if 2nd param true, text mode if 2nd param false */
diff --git a/meta/recipes-extended/ghostscript/ghostscript/0001-Fix-32-bit-build.patch b/meta/recipes-extended/ghostscript/ghostscript/0001-Fix-32-bit-build.patch
new file mode 100644
index 0000000000..8d1e9d46e6
--- /dev/null
+++ b/meta/recipes-extended/ghostscript/ghostscript/0001-Fix-32-bit-build.patch
@@ -0,0 +1,63 @@
1From 3c0be6e4fcffa63e4a5a1b0aec057cebc4d2562f Mon Sep 17 00:00:00 2001
2From: Ken Sharp <Ken.Sharp@artifex.com>
3Date: Wed, 10 Sep 2025 08:55:30 +0100
4Subject: [PATCH] Fix 32-bit build
5
6Bug #708824 "ghostscript 10.06.0 compilation failure on 32-bit archs"
7
8nbytes shiouldn't be an intptr_t, it doesn't get used for pointer
9arithmetic. Previously it was a uint, should be a int64_t, to fit with
10all the other devices.
11
12Checked other warnings, and found a (very minor) one in gdevdbit.c, fix
13that while we're here (signed/unsigned mismatch, we don't really care).
14
15Upstream-Status: Backport [https://github.com/ArtifexSoftware/ghostpdl/commit/3c0be6e4fcffa63e4a5a1b0aec057cebc4d2562f]
16
17Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
18---
19 base/gdevdbit.c | 2 +-
20 base/gdevmpla.c | 6 +++---
21 2 files changed, 4 insertions(+), 4 deletions(-)
22
23diff --git a/base/gdevdbit.c b/base/gdevdbit.c
24index e07cc3f3b8..1b5c69325b 100644
25--- a/base/gdevdbit.c
26+++ b/base/gdevdbit.c
27@@ -191,7 +191,7 @@ gx_default_copy_alpha_hl_color(gx_device * dev, const byte * data, int data_x,
28 fit_copy(dev, data, data_x, raster, id, x, y, width, height);
29 row_alpha = data;
30 out_raster = bitmap_raster(width * (size_t)byte_depth);
31- if (check_64bit_multiply(out_raster, ncomps, &product) != 0)
32+ if (check_64bit_multiply(out_raster, ncomps, (int64_t *) &product) != 0)
33 return gs_note_error(gs_error_undefinedresult);
34 gb_buff = gs_alloc_bytes(mem, product, "copy_alpha_hl_color(gb_buff)");
35 if (gb_buff == 0) {
36diff --git a/base/gdevmpla.c b/base/gdevmpla.c
37index 2f0d522561..ffc5ff42e6 100644
38--- a/base/gdevmpla.c
39+++ b/base/gdevmpla.c
40@@ -1954,12 +1954,12 @@ mem_planar_strip_copy_rop2(gx_device * dev,
41 int i;
42 int j;
43 intptr_t chunky_sraster;
44- intptr_t nbytes;
45+ int64_t nbytes;
46 byte **line_ptrs;
47 byte *sbuf, *buf;
48
49 chunky_sraster = sraster * (intptr_t)mdev->num_planar_planes;
50- if (check_64bit_multiply(height, chunky_sraster, (size_t *)&nbytes) != 0)
51+ if (check_64bit_multiply(height, chunky_sraster, &nbytes) != 0)
52 return gs_note_error(gs_error_undefinedresult);
53 buf = gs_alloc_bytes(mdev->memory, nbytes, "mem_planar_strip_copy_rop(buf)");
54 if (buf == NULL) {
55@@ -2003,7 +2003,7 @@ mem_planar_strip_copy_rop2(gx_device * dev,
56 intptr_t i;
57 intptr_t chunky_t_raster;
58 int chunky_t_height;
59- intptr_t nbytes;
60+ int64_t nbytes;
61 byte **line_ptrs;
62 byte *tbuf, *buf;
63 gx_strip_bitmap newtex;
diff --git a/meta/recipes-extended/ghostscript/ghostscript_10.05.1.bb b/meta/recipes-extended/ghostscript/ghostscript_10.06.0.bb
index 417bf52a99..4f6cb45412 100644
--- a/meta/recipes-extended/ghostscript/ghostscript_10.05.1.bb
+++ b/meta/recipes-extended/ghostscript/ghostscript_10.06.0.bb
@@ -24,10 +24,10 @@ def gs_verdir(v):
24SRC_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${@gs_verdir("${PV}")}/${BPN}-${PV}.tar.gz \ 24SRC_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${@gs_verdir("${PV}")}/${BPN}-${PV}.tar.gz \
25 file://ghostscript-9.16-Werror-return-type.patch \ 25 file://ghostscript-9.16-Werror-return-type.patch \
26 file://avoid-host-contamination.patch \ 26 file://avoid-host-contamination.patch \
27 file://0001-Bug-708160-Fix-compatibility-with-C23-compilers.patch \ 27 file://0001-Fix-32-bit-build.patch \
28 " 28 "
29 29
30SRC_URI[sha256sum] = "121861b6d29b2461dec6575c9f3cab665b810bd408d4ec02c86719fa708b0a49" 30SRC_URI[sha256sum] = "5bd6da34794928cc7e616f288e32bd0be7f9a5ca2d3c206a0af2c19a4e3a318f"
31 31
32PACKAGECONFIG ??= "" 32PACKAGECONFIG ??= ""
33PACKAGECONFIG[gtk] = "--enable-gtk,--disable-gtk,gtk+3" 33PACKAGECONFIG[gtk] = "--enable-gtk,--disable-gtk,gtk+3"
@@ -47,7 +47,7 @@ EXTRA_OECONF:append:mipsarcho32 = " --with-large_color_index=0"
47EXTRA_OECONF:append:armv7a = "${@bb.utils.contains('TUNE_FEATURES','neon','',' --disable-neon',d)}" 47EXTRA_OECONF:append:armv7a = "${@bb.utils.contains('TUNE_FEATURES','neon','',' --disable-neon',d)}"
48EXTRA_OECONF:append:armv7ve = "${@bb.utils.contains('TUNE_FEATURES','neon','',' --disable-neon',d)}" 48EXTRA_OECONF:append:armv7ve = "${@bb.utils.contains('TUNE_FEATURES','neon','',' --disable-neon',d)}"
49 49
50TARGET_CFLAGS += "-std=gnu17" 50TARGET_CFLAGS += "-std=gnu17 -fPIC"
51 51
52# Uses autoconf but not automake, can't do out-of-tree 52# Uses autoconf but not automake, can't do out-of-tree
53inherit autotools-brokensep pkgconfig 53inherit autotools-brokensep pkgconfig