| Message ID | 20250929104731.19684-1-vanusuri@mvista.com |
|---|---|
| State | Accepted, archived |
| Commit | 0144e22195394ce2b21b476a1dcfde9129eaf615 |
| Headers | show |
| Series | ghostscript: upgrade 10.05.1 -> 10.06.0 | expand |
On Mon Sep 29, 2025 at 12:47 PM CEST, Vijay Anusuri via lists.openembedded.org wrote: > From: Vijay Anusuri <vanusuri@mvista.com> > > Dropped 0001-Bug-708160-Fix-compatibility-with-C23-compilers.patch > > 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 > > Signed-off-by: Vijay Anusuri <vanusuri@mvista.com> > --- Hi Vijay, Thanks for your patch. We got some build issues on the autobuilder: ERROR: ghostscript-10.06.0-r0 do_compile: Execution of '/srv/pokybuild/yocto-worker/musl-qemux86/build/build/tmp/work/core2-32-poky-linux-musl/ghostscript/10.06.0/temp/run.do_compile.9882' failed with exit code 1 ... | ./base/gdevmpla.c: In function 'mem_planar_strip_copy_rop2': | ./base/gdevmpla.c:1962:58: error: passing argument 3 of 'check_64bit_multiply' from incompatible pointer type [-Wincompatible-pointer-types] | 1962 | if (check_64bit_multiply(height, chunky_sraster, (size_t *)&nbytes) != 0) | | ^~~~~~~~~~~~~~~~~ | | | | | size_t * {aka unsigned int *} | In file included from ./base/gdevmpla.c:21: | ./base/gxdevice.h:694:71: note: expected 'int64_t *' {aka 'long long int *'} but argument is of type 'size_t *' {aka 'unsigned int *'} | 694 | static inline int check_64bit_multiply(int64_t x, int64_t y, int64_t *result) | | ~~~~~~~~~^~~~~~ | ./base/gdevmpla.c:2022:68: error: passing argument 3 of 'check_64bit_multiply' from incompatible pointer type [-Wincompatible-pointer-types] | 2022 | if (check_64bit_multiply(chunky_t_height, chunky_t_raster, &nbytes) != 0) | | ^~~~~~~ | | | | | intptr_t * {aka int *} | ./base/gxdevice.h:694:71: note: expected 'int64_t *' {aka 'long long int *'} but argument is of type 'intptr_t *' {aka 'int *'} | 694 | static inline int check_64bit_multiply(int64_t x, int64_t y, int64_t *result) | | ~~~~~~~~~^~~~~~ | make: *** [base/lib.mak:1207: obj/gdevmpla.o] Error 1 https://autobuilder.yoctoproject.org/valkyrie/#/builders/6/builds/2498 https://autobuilder.yoctoproject.org/valkyrie/#/builders/17/builds/2316 https://autobuilder.yoctoproject.org/valkyrie/#/builders/59/builds/2476 Can you look into these, please? Thanks, Mathieu
Hi Mathieu, Thank you for testing the patch. I tested the patch on a 64-bit system and didn't checked on 32-bit builds. It appears the following commit from ArtifexSoftware might address the issue you're seeing: [ https://github.com/ArtifexSoftware/ghostpdl/commit/3c0be6e4fcffa63e4a5a1b0aec057cebc4d2562f ]. I will try to reproduce the error locally and check if this commit indeed resolves the problem. Thanks, Vijay On Tue, Sep 30, 2025 at 3:55 PM Mathieu Dubois-Briand < mathieu.dubois-briand@bootlin.com> wrote: > On Mon Sep 29, 2025 at 12:47 PM CEST, Vijay Anusuri via > lists.openembedded.org wrote: > > From: Vijay Anusuri <vanusuri@mvista.com> > > > > Dropped 0001-Bug-708160-Fix-compatibility-with-C23-compilers.patch > > > > 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 > > > > Signed-off-by: Vijay Anusuri <vanusuri@mvista.com> > > --- > > Hi Vijay, > > Thanks for your patch. > > We got some build issues on the autobuilder: > > ERROR: ghostscript-10.06.0-r0 do_compile: Execution of > '/srv/pokybuild/yocto-worker/musl-qemux86/build/build/tmp/work/core2-32-poky-linux-musl/ghostscript/10.06.0/temp/run.do_compile.9882' > failed with exit code 1 > ... > | ./base/gdevmpla.c: In function 'mem_planar_strip_copy_rop2': > | ./base/gdevmpla.c:1962:58: error: passing argument 3 of > 'check_64bit_multiply' from incompatible pointer type > [-Wincompatible-pointer-types] > | 1962 | if (check_64bit_multiply(height, chunky_sraster, (size_t > *)&nbytes) != 0) > | | > ^~~~~~~~~~~~~~~~~ > | | | > | | size_t > * {aka unsigned int *} > | In file included from ./base/gdevmpla.c:21: > | ./base/gxdevice.h:694:71: note: expected 'int64_t *' {aka 'long long int > *'} but argument is of type 'size_t *' {aka 'unsigned int *'} > | 694 | static inline int check_64bit_multiply(int64_t x, int64_t y, > int64_t *result) > | | > ~~~~~~~~~^~~~~~ > | ./base/gdevmpla.c:2022:68: error: passing argument 3 of > 'check_64bit_multiply' from incompatible pointer type > [-Wincompatible-pointer-types] > | 2022 | if (check_64bit_multiply(chunky_t_height, > chunky_t_raster, &nbytes) != 0) > | | > ^~~~~~~ > | | > | > | | > intptr_t * {aka int *} > | ./base/gxdevice.h:694:71: note: expected 'int64_t *' {aka 'long long int > *'} but argument is of type 'intptr_t *' {aka 'int *'} > | 694 | static inline int check_64bit_multiply(int64_t x, int64_t y, > int64_t *result) > | | > ~~~~~~~~~^~~~~~ > | make: *** [base/lib.mak:1207: obj/gdevmpla.o] Error 1 > > https://autobuilder.yoctoproject.org/valkyrie/#/builders/6/builds/2498 > https://autobuilder.yoctoproject.org/valkyrie/#/builders/17/builds/2316 > https://autobuilder.yoctoproject.org/valkyrie/#/builders/59/builds/2476 > > Can you look into these, please? > > Thanks, > Mathieu > > -- > Mathieu Dubois-Briand, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com > >
This was accepted onto master, and we are seeing different a different
32bit build failure:
./brotli/c/dec/decode.c: In function 'PreloadSymbol':
./brotli/c/dec/huffman.h:83:47: error: ISO C90 forbids mixed
declarations and code [-Werror=declaration-after-statement]
83 | #define BROTLI_HC_MARK_TABLE_FOR_FAST_LOAD(H) uint32_t
__fastload_##H = (*H)
| ^~~~~~~~
./brotli/c/dec/decode.c:440:3: note: in expansion of macro
'BROTLI_HC_MARK_TABLE_FOR_FAST_LOAD'
440 | BROTLI_HC_MARK_TABLE_FOR_FAST_LOAD(table);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
On 9/29/2025 5:47 AM, Vijay Anusuri via lists.openembedded.org wrote:
> From: Vijay Anusuri <vanusuri@mvista.com>
>
> Dropped 0001-Bug-708160-Fix-compatibility-with-C23-compilers.patch
>
> 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
>
> Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
> ---
> ...Fix-compatibility-with-C23-compilers.patch | 67 -------------------
> ...ript_10.05.1.bb => ghostscript_10.06.0.bb} | 5 +-
> 2 files changed, 2 insertions(+), 70 deletions(-)
> delete mode 100644 meta/recipes-extended/ghostscript/ghostscript/0001-Bug-708160-Fix-compatibility-with-C23-compilers.patch
> rename meta/recipes-extended/ghostscript/{ghostscript_10.05.1.bb => ghostscript_10.06.0.bb} (93%)
>
> 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 @@
> -From c595086bfe206776676e290df98cd09e91210e27 Mon Sep 17 00:00:00 2001
> -From: Alex Cherepanov <alex@coscript.biz>
> -Date: Thu, 3 Apr 2025 17:19:41 +0100
> -Subject: [PATCH] Bug 708160: Fix compatibility with C23 compilers
> -MIME-Version: 1.0
> -Content-Type: text/plain; charset=UTF-8
> -Content-Transfer-Encoding: 8bit
> -
> -* fixes:
> - http://errors.yoctoproject.org/Errors/Details/853021/
> -
> -In file included from ./base/genconf.c:18:
> -./base/stdpre.h:348:13: error: ‘bool’ cannot be defined via ‘typedef’
> - 348 | typedef int bool;
> - | ^~~~
> -./base/stdpre.h:348:13: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
> -./base/stdpre.h:348:1: warning: useless type name in empty declaration
> - 348 | typedef int bool;
> - | ^~~~~~~
> -
> -Upstream-Status: Backport [Partial backport of https://cgit.ghostscript.com/cgi-bin/cgit.cgi/ghostpdl.git/commit/base/stdpre.h?id=ae940946473ceb8c5353bc6e7f04673c6e60502d]
> -
> -Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
> ----
> - base/stdpre.h | 6 ++++--
> - 1 file changed, 4 insertions(+), 2 deletions(-)
> -
> -diff --git a/base/stdpre.h b/base/stdpre.h
> -index dda30b6..2f9c84e 100644
> ---- a/base/stdpre.h
> -+++ b/base/stdpre.h
> -@@ -1,4 +1,4 @@
> --/* Copyright (C) 2001-2023 Artifex Software, Inc.
> -+/* Copyright (C) 2001-2025 Artifex Software, Inc.
> - All Rights Reserved.
> -
> - This software is provided AS-IS with no warranty, either express or
> -@@ -341,7 +341,9 @@ typedef signed char schar;
> - * and the MetroWerks C++ compiler insists that bool be equivalent to
> - * unsigned char.
> - */
> --#ifndef __cplusplus
> -+
> -+/* C23 has bool as a builtin type. */
> -+#if !defined(__cplusplus) && (!defined(__STDC_VERSION__) || __STDC_VERSION__ < 202311L)
> - #ifdef __BEOS__
> - typedef unsigned char bool;
> - #else
> -diff --git a/base/gp.h b/base/gp.h
> -index ad5bb61..cf2c9cf 100644
> ---- a/base/gp.h
> -+++ b/base/gp.h
> -@@ -1,4 +1,4 @@
> --/* Copyright (C) 2001-2023 Artifex Software, Inc.
> -+/* Copyright (C) 2001-2025 Artifex Software, Inc.
> - All Rights Reserved.
> -
> - This software is provided AS-IS with no warranty, either express or
> -@@ -646,7 +646,7 @@ int gp_fseek_impl(FILE *strm, gs_offset_t offset, int origin);
> - /* Create a second open gp_file on the basis of a given one */
> - FILE *gp_fdup_impl(FILE *f, const char *mode);
> -
> --int gp_fseekable_impl(FILE *f);
> -+bool gp_fseekable_impl(FILE *f);
> -
> - /* Force given file into binary mode (no eol translations, etc) */
> - /* if 2nd param true, text mode if 2nd param false */
> diff --git a/meta/recipes-extended/ghostscript/ghostscript_10.05.1.bb b/meta/recipes-extended/ghostscript/ghostscript_10.06.0.bb
> similarity index 93%
> rename from meta/recipes-extended/ghostscript/ghostscript_10.05.1.bb
> rename to meta/recipes-extended/ghostscript/ghostscript_10.06.0.bb
> index 417bf52a99..8bb5bb985c 100644
> --- a/meta/recipes-extended/ghostscript/ghostscript_10.05.1.bb
> +++ b/meta/recipes-extended/ghostscript/ghostscript_10.06.0.bb
> @@ -24,10 +24,9 @@ def gs_verdir(v):
> SRC_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${@gs_verdir("${PV}")}/${BPN}-${PV}.tar.gz \
> file://ghostscript-9.16-Werror-return-type.patch \
> file://avoid-host-contamination.patch \
> - file://0001-Bug-708160-Fix-compatibility-with-C23-compilers.patch \
> "
>
> -SRC_URI[sha256sum] = "121861b6d29b2461dec6575c9f3cab665b810bd408d4ec02c86719fa708b0a49"
> +SRC_URI[sha256sum] = "5bd6da34794928cc7e616f288e32bd0be7f9a5ca2d3c206a0af2c19a4e3a318f"
>
> PACKAGECONFIG ??= ""
> PACKAGECONFIG[gtk] = "--enable-gtk,--disable-gtk,gtk+3"
> @@ -47,7 +46,7 @@ EXTRA_OECONF:append:mipsarcho32 = " --with-large_color_index=0"
> EXTRA_OECONF:append:armv7a = "${@bb.utils.contains('TUNE_FEATURES','neon','',' --disable-neon',d)}"
> EXTRA_OECONF:append:armv7ve = "${@bb.utils.contains('TUNE_FEATURES','neon','',' --disable-neon',d)}"
>
> -TARGET_CFLAGS += "-std=gnu17"
> +TARGET_CFLAGS += "-std=gnu17 -fPIC"
>
> # Uses autoconf but not automake, can't do out-of-tree
> inherit autotools-brokensep pkgconfig
>
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#224134): https://lists.openembedded.org/g/openembedded-core/message/224134
> Mute This Topic: https://lists.openembedded.org/mt/115492575/6551054
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [reatmon@ti.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
On Fri Oct 3, 2025 at 3:36 PM CEST, Ryan Eatmon via lists.openembedded.org wrote: > > This was accepted onto master, and we are seeing different a different > 32bit build failure: > > ./brotli/c/dec/decode.c: In function 'PreloadSymbol': > ./brotli/c/dec/huffman.h:83:47: error: ISO C90 forbids mixed > declarations and code [-Werror=declaration-after-statement] > 83 | #define BROTLI_HC_MARK_TABLE_FOR_FAST_LOAD(H) uint32_t > __fastload_##H = (*H) > | ^~~~~~~~ > ./brotli/c/dec/decode.c:440:3: note: in expansion of macro > 'BROTLI_HC_MARK_TABLE_FOR_FAST_LOAD' > 440 | BROTLI_HC_MARK_TABLE_FOR_FAST_LOAD(table); > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > Hi Ryan, Just for reference, this is not the version of the patch that was accepted: the v2 was. Message-ID: <20250930153901.246829-1-vanusuri@mvista.com> Thanks, Mathieu
On 10/3/2025 9:46 AM, Mathieu Dubois-Briand wrote: > On Fri Oct 3, 2025 at 3:36 PM CEST, Ryan Eatmon via lists.openembedded.org wrote: >> >> This was accepted onto master, and we are seeing different a different >> 32bit build failure: >> >> ./brotli/c/dec/decode.c: In function 'PreloadSymbol': >> ./brotli/c/dec/huffman.h:83:47: error: ISO C90 forbids mixed >> declarations and code [-Werror=declaration-after-statement] >> 83 | #define BROTLI_HC_MARK_TABLE_FOR_FAST_LOAD(H) uint32_t >> __fastload_##H = (*H) >> | ^~~~~~~~ >> ./brotli/c/dec/decode.c:440:3: note: in expansion of macro >> 'BROTLI_HC_MARK_TABLE_FOR_FAST_LOAD' >> 440 | BROTLI_HC_MARK_TABLE_FOR_FAST_LOAD(table); >> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> > > Hi Ryan, > > Just for reference, this is not the version of the patch that was > accepted: the v2 was. Doh! I didn't see a v2 in my mail client... I'll reply to that thread... > Message-ID: <20250930153901.246829-1-vanusuri@mvista.com> > > Thanks, > Mathieu >
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 @@ -From c595086bfe206776676e290df98cd09e91210e27 Mon Sep 17 00:00:00 2001 -From: Alex Cherepanov <alex@coscript.biz> -Date: Thu, 3 Apr 2025 17:19:41 +0100 -Subject: [PATCH] Bug 708160: Fix compatibility with C23 compilers -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -* fixes: - http://errors.yoctoproject.org/Errors/Details/853021/ - -In file included from ./base/genconf.c:18: -./base/stdpre.h:348:13: error: ‘bool’ cannot be defined via ‘typedef’ - 348 | typedef int bool; - | ^~~~ -./base/stdpre.h:348:13: note: ‘bool’ is a keyword with ‘-std=c23’ onwards -./base/stdpre.h:348:1: warning: useless type name in empty declaration - 348 | typedef int bool; - | ^~~~~~~ - -Upstream-Status: Backport [Partial backport of https://cgit.ghostscript.com/cgi-bin/cgit.cgi/ghostpdl.git/commit/base/stdpre.h?id=ae940946473ceb8c5353bc6e7f04673c6e60502d] - -Signed-off-by: Martin Jansa <martin.jansa@gmail.com> ---- - base/stdpre.h | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/base/stdpre.h b/base/stdpre.h -index dda30b6..2f9c84e 100644 ---- a/base/stdpre.h -+++ b/base/stdpre.h -@@ -1,4 +1,4 @@ --/* Copyright (C) 2001-2023 Artifex Software, Inc. -+/* Copyright (C) 2001-2025 Artifex Software, Inc. - All Rights Reserved. - - This software is provided AS-IS with no warranty, either express or -@@ -341,7 +341,9 @@ typedef signed char schar; - * and the MetroWerks C++ compiler insists that bool be equivalent to - * unsigned char. - */ --#ifndef __cplusplus -+ -+/* C23 has bool as a builtin type. */ -+#if !defined(__cplusplus) && (!defined(__STDC_VERSION__) || __STDC_VERSION__ < 202311L) - #ifdef __BEOS__ - typedef unsigned char bool; - #else -diff --git a/base/gp.h b/base/gp.h -index ad5bb61..cf2c9cf 100644 ---- a/base/gp.h -+++ b/base/gp.h -@@ -1,4 +1,4 @@ --/* Copyright (C) 2001-2023 Artifex Software, Inc. -+/* Copyright (C) 2001-2025 Artifex Software, Inc. - All Rights Reserved. - - This software is provided AS-IS with no warranty, either express or -@@ -646,7 +646,7 @@ int gp_fseek_impl(FILE *strm, gs_offset_t offset, int origin); - /* Create a second open gp_file on the basis of a given one */ - FILE *gp_fdup_impl(FILE *f, const char *mode); - --int gp_fseekable_impl(FILE *f); -+bool gp_fseekable_impl(FILE *f); - - /* Force given file into binary mode (no eol translations, etc) */ - /* if 2nd param true, text mode if 2nd param false */ diff --git a/meta/recipes-extended/ghostscript/ghostscript_10.05.1.bb b/meta/recipes-extended/ghostscript/ghostscript_10.06.0.bb similarity index 93% rename from meta/recipes-extended/ghostscript/ghostscript_10.05.1.bb rename to meta/recipes-extended/ghostscript/ghostscript_10.06.0.bb index 417bf52a99..8bb5bb985c 100644 --- a/meta/recipes-extended/ghostscript/ghostscript_10.05.1.bb +++ b/meta/recipes-extended/ghostscript/ghostscript_10.06.0.bb @@ -24,10 +24,9 @@ def gs_verdir(v): SRC_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${@gs_verdir("${PV}")}/${BPN}-${PV}.tar.gz \ file://ghostscript-9.16-Werror-return-type.patch \ file://avoid-host-contamination.patch \ - file://0001-Bug-708160-Fix-compatibility-with-C23-compilers.patch \ " -SRC_URI[sha256sum] = "121861b6d29b2461dec6575c9f3cab665b810bd408d4ec02c86719fa708b0a49" +SRC_URI[sha256sum] = "5bd6da34794928cc7e616f288e32bd0be7f9a5ca2d3c206a0af2c19a4e3a318f" PACKAGECONFIG ??= "" PACKAGECONFIG[gtk] = "--enable-gtk,--disable-gtk,gtk+3" @@ -47,7 +46,7 @@ EXTRA_OECONF:append:mipsarcho32 = " --with-large_color_index=0" EXTRA_OECONF:append:armv7a = "${@bb.utils.contains('TUNE_FEATURES','neon','',' --disable-neon',d)}" EXTRA_OECONF:append:armv7ve = "${@bb.utils.contains('TUNE_FEATURES','neon','',' --disable-neon',d)}" -TARGET_CFLAGS += "-std=gnu17" +TARGET_CFLAGS += "-std=gnu17 -fPIC" # Uses autoconf but not automake, can't do out-of-tree inherit autotools-brokensep pkgconfig