On 7/18/24 21:16, Ross Burton wrote:
CAUTION: This email comes from a non Wind River email account!
Do not click links or open attachments unless you recognize the sender and know 
the content is safe.

Can you submit this to pixman’s gitlab repository as a MR?

https://gitlab.freedesktop.org/pixman/pixman/-/merge_requests

Sure, I will send out the link after done.

Thanks

Ross


Thanks,
Ross

On 16 Jul 2024, at 10:49, Changqing Li via 
lists.openembedded.org<changqing.li=windriver....@lists.openembedded.org>  
wrote:

From: Changqing Li<changqing...@windriver.com>

Previous patch works on fedora40 with gcc-14, but not works
on ubuntu2004 with gcc-9. Update the patch to fix the do_compile
failure:
    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)

Signed-off-by: Changqing Li<changqing...@windriver.com>
---
...loat.c-fix-inlining-failed-in-call-t.patch | 56 +++++++++++++++++++
...float.c-replace-force_inline-with-__.patch | 36 ------------
.../xorg-lib/pixman_0.42.2.bb                 |  2 +-
3 files changed, 57 insertions(+), 37 deletions(-)
create mode 100644 
meta/recipes-graphics/xorg-lib/pixman/0001-pixman-combine-float.c-fix-inlining-failed-in-call-t.patch
delete mode 100644 
meta/recipes-graphics/xorg-lib/pixman/0001-pixman-combine-float.c-replace-force_inline-with-__.patch

diff --git 
a/meta/recipes-graphics/xorg-lib/pixman/0001-pixman-combine-float.c-fix-inlining-failed-in-call-t.patch
 
b/meta/recipes-graphics/xorg-lib/pixman/0001-pixman-combine-float.c-fix-inlining-failed-in-call-t.patch
new file mode 100644
index 0000000000..5c79754e50
--- /dev/null
+++ 
b/meta/recipes-graphics/xorg-lib/pixman/0001-pixman-combine-float.c-fix-inlining-failed-in-call-t.patch
@@ -0,0 +1,56 @@
+From 1e32984ccd58da1a66ca918d170a6b1829ef9df2 Mon Sep 17 00:00:00 2001
+From: Changqing Li<changqing...@windriver.com>
+Date: Tue, 16 Jul 2024 15:31:16 +0800
+Subject: [PATCH] pixman-combine-float.c: fix inlining failed in call to
+ always_inline
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+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<changqing...@windriver.com>
+---
+ pixman/pixman-combine-float.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/pixman/pixman-combine-float.c b/pixman/pixman-combine-float.c
+index f5145bc..f65eb5f 100644
+--- a/pixman/pixman-combine-float.c
++++ b/pixman/pixman-combine-float.c
+@@ -261,7 +261,7 @@ get_factor (combine_factor_t factor, float sa, float da)
+ }
+
+ #define MAKE_PD_COMBINERS(name, a, b) \
+-    static float force_inline \
++    static float inline \
+     pd_combine_ ## name (float sa, float s, float da, float d) \
+     { \
+ const float fa = get_factor (a, sa, da); \
+@@ -360,13 +360,13 @@ MAKE_PD_COMBINERS (conjoint_xor, ONE_MINUS_DA_OVER_SA, 
ONE_MINUS_SA_OVER_DA)
+  */
+
+ #define MAKE_SEPARABLE_PDF_COMBINERS(name) \
+-    static force_inline float \
++    static inline float \
+     combine_ ## name ## _a (float sa, float s, float da, float d) \
+     { \
+ return da + sa - da * sa; \
+     } \
+      \
+-    static force_inline float \
++    static inline float \
+     combine_ ## name ## _c (float sa, float s, float da, float d) \
+     { \
+ float f = (1 - sa) * d + (1 - da) * s; \
+--
+2.25.1
+
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
deleted file mode 100644
index cae201629f..0000000000
--- 
a/meta/recipes-graphics/xorg-lib/pixman/0001-pixman-combine-float.c-replace-force_inline-with-__.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 49a1644015d073829c17dcd977aab6fdda1ebdee Mon Sep 17 00:00:00 2001
-From: Changqing Li<changqing...@windriver.com>
-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<changqing...@windriver.com>
----
- 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 88eef50f7b..3c55c1705a 100644
--- a/meta/recipes-graphics/xorg-lib/pixman_0.42.2.bb
+++ b/meta/recipes-graphics/xorg-lib/pixman_0.42.2.bb
@@ -9,7 +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 \ + file://0001-pixman-combine-float.c-fix-inlining-failed-in-call-t.patch \ "
SRC_URI[sha256sum] = 
"ea1480efada2fd948bc75366f7c349e1c96d3297d09a3fe62626e38e234a625e"

--
2.25.1




-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#202246): 
https://lists.openembedded.org/g/openembedded-core/message/202246
Mute This Topic: https://lists.openembedded.org/mt/107249106/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to