From: Changqing Li Date: Fri, 5 Jul 2024 09:41:36 +0000 (+0800) Subject: pixman: fix do_compile error X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4ab0d5c24b32a80432d9cfa6c904027b8a6710b5;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git pixman: fix do_compile error When debug build is enabled(-Og is used), pixman-native do_compile failed with error: In function ‘combine_inner’, inlined from ‘combine_soft_light_ca_float’ at ../pixman-0.42.2/pixman/pixman-combine-float.c:655:1: ../pixman-0.42.2/pixman/pixman-combine-float.c:370:5: error: inlining failed in call to ‘always_inline’ ‘combine_soft_light_c’: function not considered for inlining 370 | combine_ ## name ## _c (float sa, float s, float da, float d) Refer [1], always_inline is not suggested to use with indirect function call, replace always_inline with __inline__ to fix the issue [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107931 Signed-off-by: Changqing Li Signed-off-by: Richard Purdie --- diff --git a/meta/recipes-graphics/xorg-lib/pixman/0001-pixman-combine-float.c-replace-force_inline-with-__.patch b/meta/recipes-graphics/xorg-lib/pixman/0001-pixman-combine-float.c-replace-force_inline-with-__.patch new file mode 100644 index 00000000000..cae201629f0 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/pixman/0001-pixman-combine-float.c-replace-force_inline-with-__.patch @@ -0,0 +1,36 @@ +From 49a1644015d073829c17dcd977aab6fdda1ebdee Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Fri, 5 Jul 2024 07:33:44 +0000 +Subject: [PATCH] pixman-combine-float.c: replace force_inline with __inline__ + +Refer [1], always-inline is not suggested to be used if you have indirect +calls. so replace force_inline with __inline__ to fix error: +In function ‘combine_inner’, + inlined from ‘combine_soft_light_ca_float’ at ../pixman/pixman-combine-float.c:655:511: +../pixman/pixman-combine-float.c:655:211: error: inlining failed in call to ‘always_inline’ ‘combine_soft_light_c’: function not considered for inlining + +[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115679 + +Upstream-Status: Submitted [https://www.mail-archive.com/pixman@lists.freedesktop.org/msg04812.html] + +Signed-off-by: Changqing Li +--- + pixman/pixman-combine-float.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pixman/pixman-combine-float.c b/pixman/pixman-combine-float.c +index f5145bc..52400f4 100644 +--- a/pixman/pixman-combine-float.c ++++ b/pixman/pixman-combine-float.c +@@ -44,7 +44,7 @@ + + typedef float (* combine_channel_t) (float sa, float s, float da, float d); + +-static force_inline void ++static __inline__ void + combine_inner (pixman_bool_t component, + float *dest, const float *src, const float *mask, int n_pixels, + combine_channel_t combine_a, combine_channel_t combine_c) +-- +2.44.0 + diff --git a/meta/recipes-graphics/xorg-lib/pixman_0.42.2.bb b/meta/recipes-graphics/xorg-lib/pixman_0.42.2.bb index 23ae0cbb272..88eef50f7bb 100644 --- a/meta/recipes-graphics/xorg-lib/pixman_0.42.2.bb +++ b/meta/recipes-graphics/xorg-lib/pixman_0.42.2.bb @@ -9,6 +9,7 @@ DEPENDS = "zlib" SRC_URI = "https://www.cairographics.org/releases/${BP}.tar.gz \ file://0001-ARM-qemu-related-workarounds-in-cpu-features-detecti.patch \ + file://0001-pixman-combine-float.c-replace-force_inline-with-__.patch \ " SRC_URI[sha256sum] = "ea1480efada2fd948bc75366f7c349e1c96d3297d09a3fe62626e38e234a625e"