]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
pixman: Backport fix for recent binutils
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 5 Aug 2024 15:01:35 +0000 (16:01 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 6 Aug 2024 10:27:10 +0000 (11:27 +0100)
With recent binutils, we see a compile failure. Backport the patch for this
from upstream.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-graphics/xorg-lib/pixman/865e6ce00bb79a6b925ed4c2c436e1533e4472aa.patch [new file with mode: 0644]
meta/recipes-graphics/xorg-lib/pixman_0.42.2.bb

diff --git a/meta/recipes-graphics/xorg-lib/pixman/865e6ce00bb79a6b925ed4c2c436e1533e4472aa.patch b/meta/recipes-graphics/xorg-lib/pixman/865e6ce00bb79a6b925ed4c2c436e1533e4472aa.patch
new file mode 100644 (file)
index 0000000..927ca08
--- /dev/null
@@ -0,0 +1,104 @@
+From 865e6ce00bb79a6b925ed4c2c436e1533e4472aa Mon Sep 17 00:00:00 2001
+From: Mike Hommey <mh@glandium.org>
+Date: Fri, 12 Jul 2024 11:11:17 -0400
+Subject: [PATCH] pixman: Adjust arm assembly for binutils change
+
+A change in the latest version of binutils broke building pixman for arm.
+
+The binutils change:
+https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=226749d5a6ff0d5c607d6428d6c81e1e7e7a994b
+
+Closes: https://gitlab.freedesktop.org/pixman/pixman/-/issues/96
+---
+ pixman/pixman-arm-simd-asm.S | 44 ++++++++++++++++++------------------
+ 1 file changed, 22 insertions(+), 22 deletions(-)
+
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+Upstream-Status: Backport [865e6ce00bb79a6b925ed4c2c436e1533e4472aa]
+
+Index: pixman-0.42.2/pixman/pixman-arm-simd-asm.S
+===================================================================
+--- pixman-0.42.2.orig/pixman/pixman-arm-simd-asm.S
++++ pixman-0.42.2/pixman/pixman-arm-simd-asm.S
+@@ -818,13 +818,13 @@ generate_composite_function \
+ .macro over_white_8888_8888_ca_1pixel_tail
+         mvn     TMP0, WK1
+         teq     WK1, WK1, asr #32
+-        bne     01f
+-        bcc     03f
++        bne     1f
++        bcc     3f
+         mov     WK3, WK1
+-        b       02f
+-01:     over_white_8888_8888_ca_combine WK1, WK3
+-02:     pixst   , 4, 3, DST
+-03:
++        b       2f
++1:      over_white_8888_8888_ca_combine WK1, WK3
++2:      pixst   , 4, 3, DST
++3:
+ .endm
+ .macro over_white_8888_8888_ca_2pixels_head
+@@ -835,21 +835,21 @@ generate_composite_function \
+         pixld   , 8, 3, DST
+         mvn     TMP0, WK1
+         teq     WK1, WK1, asr #32
+-        bne     01f
++        bne     1f
+         movcs   WK3, WK1
+-        bcs     02f
++        bcs     2f
+         teq     WK2, #0
+-        beq     05f
+-        b       02f
+-01:     over_white_8888_8888_ca_combine WK1, WK3
+-02:     mvn     TMP0, WK2
++        beq     5f
++        b       2f
++1:      over_white_8888_8888_ca_combine WK1, WK3
++2:      mvn     TMP0, WK2
+         teq     WK2, WK2, asr #32
+-        bne     03f
++        bne     3f
+         movcs   WK4, WK2
+-        b       04f
+-03:     over_white_8888_8888_ca_combine WK2, WK4
+-04:     pixst   , 8, 3, DST
+-05:
++        b       4f
++3:      over_white_8888_8888_ca_combine WK2, WK4
++4:      pixst   , 8, 3, DST
++5:
+ .endm
+ .macro over_white_8888_8888_ca_process_head  cond, numbytes, firstreg, unaligned_src, unaligned_mask, preload
+@@ -1065,9 +1065,9 @@ generate_composite_function \
+   .if offset != 0
+         ldrb    ORIG_W, [SRC, #offset]
+   .endif
+-        beq     01f
++        beq     1f
+         teq     STRIDE_M, #0xFF
+-        beq     02f
++        beq     2f
+  .endif
+         uxtb16  SCRATCH, d                 /* rb_dest */
+         uxtb16  d, d, ror #8               /* ag_dest */
+@@ -1077,13 +1077,13 @@ generate_composite_function \
+         uxtab16 d, d, d, ror #8
+         mov     SCRATCH, SCRATCH, ror #8
+         sel     d, SCRATCH, d
+-        b       02f
++        b       2f
+  .if offset == 0
+ 48:     /* Last mov d,#0 of the set - used as part of shortcut for
+          * source values all 0 */
+  .endif
+-01:     mov     d, #0
+-02:
++1:     mov     d, #0
++2:
+ .endm
+ .macro in_reverse_8888_8888_tail  numbytes, reg1, reg2, reg3, reg4
index 3c55c1705a63e88253c73590e3b9290221f9e1e3..4be72665f9603e2c276e4f13d592dffbfe93f6ef 100644 (file)
@@ -10,6 +10,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-fix-inlining-failed-in-call-t.patch \
+           file://865e6ce00bb79a6b925ed4c2c436e1533e4472aa.patch \
            "
 SRC_URI[sha256sum] = "ea1480efada2fd948bc75366f7c349e1c96d3297d09a3fe62626e38e234a625e"