From 7ea6b1910419cf5f5036c603edf3440383d1c947 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Mon, 5 Aug 2024 16:01:35 +0100 Subject: [PATCH] pixman: Backport fix for recent binutils With recent binutils, we see a compile failure. Backport the patch for this from upstream. Signed-off-by: Richard Purdie --- ...6ce00bb79a6b925ed4c2c436e1533e4472aa.patch | 104 ++++++++++++++++++ .../xorg-lib/pixman_0.42.2.bb | 1 + 2 files changed, 105 insertions(+) create mode 100644 meta/recipes-graphics/xorg-lib/pixman/865e6ce00bb79a6b925ed4c2c436e1533e4472aa.patch diff --git a/meta/recipes-graphics/xorg-lib/pixman/865e6ce00bb79a6b925ed4c2c436e1533e4472aa.patch b/meta/recipes-graphics/xorg-lib/pixman/865e6ce00bb79a6b925ed4c2c436e1533e4472aa.patch new file mode 100644 index 00000000000..927ca08cc21 --- /dev/null +++ b/meta/recipes-graphics/xorg-lib/pixman/865e6ce00bb79a6b925ed4c2c436e1533e4472aa.patch @@ -0,0 +1,104 @@ +From 865e6ce00bb79a6b925ed4c2c436e1533e4472aa Mon Sep 17 00:00:00 2001 +From: Mike Hommey +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 +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 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 3c55c1705a6..4be72665f96 100644 --- a/meta/recipes-graphics/xorg-lib/pixman_0.42.2.bb +++ b/meta/recipes-graphics/xorg-lib/pixman_0.42.2.bb @@ -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" -- 2.47.3