diff mbox series

[meta-oe,2/2] renderdoc: Fix build with clang fortify and glibc 2.40

Message ID 20240703065649.3135944-2-raj.khem@gmail.com
State New
Headers show
Series [meta-oe,1/2] renderdoc: Upgrade to 1.33 | expand

Commit Message

Khem Raj July 3, 2024, 6:56 a.m. UTC
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...sor-Reorder-stdio.h-include-location.patch | 43 +++++++++++++++++++
 .../renderdoc/renderdoc_1.33.bb               |  1 +
 2 files changed, 44 insertions(+)
 create mode 100644 meta-oe/recipes-graphics/renderdoc/renderdoc/0001-jpeg-compressor-Reorder-stdio.h-include-location.patch
diff mbox series

Patch

diff --git a/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-jpeg-compressor-Reorder-stdio.h-include-location.patch b/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-jpeg-compressor-Reorder-stdio.h-include-location.patch
new file mode 100644
index 0000000000..1c714f84dc
--- /dev/null
+++ b/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-jpeg-compressor-Reorder-stdio.h-include-location.patch
@@ -0,0 +1,43 @@ 
+From 4eb26927eebebfc4df8789ba69f60f3c28b8ba33 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 2 Jul 2024 23:36:23 -0700
+Subject: [PATCH] jpeg-compressor: Reorder stdio.h include location
+
+Current, location ends up with compile errors with clang and glibc 2.40
+fortified headers
+
+| /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux/renderdoc/1.33/recipe-sysroot/usr/include/bits/stdio2.h:128:13: error: use of undeclared identifier '__builtin___vfprintf_chk'; did you mean '__builtin___sprintf_chk'?
+|   128 |   int __r = __builtin___vfprintf_chk (__stream, __USE_FORTIFY_LEVEL - 1,
+|       |             ^
+| /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux/renderdoc/1.33/recipe-sysroot/usr/include/bits/stdio2.h:128:39: error: cannot initialize a parameter of type 'char *' with an lvalue of type 'FILE *const __restrict' (aka 'jpge::_IO_FILE *const __restrict')
+|   128 |   int __r = __builtin___vfprintf_chk (__stream, __USE_FORTIFY_LEVEL - 1,
+|       |                                       ^~~~~~~~
+
+This re-ordering ensures that fortified function prototypes are used correctly.
+
+Upstream-Status: Submitted [https://github.com/baldurk/renderdoc/pull/3369]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ renderdoc/3rdparty/jpeg-compressor/jpge.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/renderdoc/3rdparty/jpeg-compressor/jpge.cpp b/renderdoc/3rdparty/jpeg-compressor/jpge.cpp
+index 74d9d1006..d58e41664 100644
+--- a/renderdoc/3rdparty/jpeg-compressor/jpge.cpp
++++ b/renderdoc/3rdparty/jpeg-compressor/jpge.cpp
+@@ -10,6 +10,7 @@
+ 
+ #include "jpge.h"
+ 
++#include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+ 
+@@ -897,7 +898,6 @@ bool jpeg_encoder::process_scanline(const void* pScanline)
+ }
+ 
+ // Higher level wrappers/examples (optional).
+-#include <stdio.h>
+ 
+ class cfile_stream : public output_stream
+ {
diff --git a/meta-oe/recipes-graphics/renderdoc/renderdoc_1.33.bb b/meta-oe/recipes-graphics/renderdoc/renderdoc_1.33.bb
index e6b59cfae2..833845b5a3 100644
--- a/meta-oe/recipes-graphics/renderdoc/renderdoc_1.33.bb
+++ b/meta-oe/recipes-graphics/renderdoc/renderdoc_1.33.bb
@@ -7,6 +7,7 @@  LIC_FILES_CHKSUM = "file://LICENSE.md;md5=5536c2b72eeed14bafaf4d2a6c032b87"
 SRCREV = "cae289323847ce0a84a0deca4958183567eee17e"
 SRC_URI = " \
     git://github.com/baldurk/${BPN}.git;protocol=https;branch=v1.x \
+    file://0001-jpeg-compressor-Reorder-stdio.h-include-location.patch \
 "
 S = "${WORKDIR}/git"