All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] package/pixman: backport an upstream patch to fix ARM builds with binutils >= 2.43
@ 2024-12-05 15:50 Peter Korsgaard
  2024-12-05 19:15 ` Julien Olivain
  0 siblings, 1 reply; 2+ messages in thread
From: Peter Korsgaard @ 2024-12-05 15:50 UTC (permalink / raw)
  To: buildroot

Fixes:
http://autobuild.buildroot.net/results/7e92ee14f714e1699458ea8c9f16ae5cc2f743d9/

Tweak the ARM assembly labels to make binutils >= 2.43 happy.

Upstream issue: https://gitlab.freedesktop.org/pixman/pixman/-/issues/96

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
 ...ust-arm-assembly-for-binutils-change.patch | 108 ++++++++++++++++++
 1 file changed, 108 insertions(+)
 create mode 100644 package/pixman/0002-pixman-Adjust-arm-assembly-for-binutils-change.patch

diff --git a/package/pixman/0002-pixman-Adjust-arm-assembly-for-binutils-change.patch b/package/pixman/0002-pixman-Adjust-arm-assembly-for-binutils-change.patch
new file mode 100644
index 0000000000..2f0fe9f01a
--- /dev/null
+++ b/package/pixman/0002-pixman-Adjust-arm-assembly-for-binutils-change.patch
@@ -0,0 +1,108 @@
+From 9c000faabe1730c1ec7dbefe7e290e025adf7b69 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
+(cherry picked from commit 865e6ce00bb79a6b925ed4c2c436e1533e4472aa)
+Upstream: https://gitlab.freedesktop.org/pixman/pixman/-/commit/865e6ce00bb79a6b925ed4c2c436e1533e4472aa
+[Peter: rebase on 0.42.2]
+Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
+---
+ pixman/pixman-arm-simd-asm.S | 44 ++++++++++++++++++------------------
+ 1 file changed, 22 insertions(+), 22 deletions(-)
+
+diff --git a/pixman/pixman-arm-simd-asm.S b/pixman/pixman-arm-simd-asm.S
+index a74a0a8..959a0ba 100644
+--- a/pixman/pixman-arm-simd-asm.S
++++ b/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
+-- 
+2.39.5
+
-- 
2.39.5

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [Buildroot] [PATCH] package/pixman: backport an upstream patch to fix ARM builds with binutils >= 2.43
  2024-12-05 15:50 [Buildroot] [PATCH] package/pixman: backport an upstream patch to fix ARM builds with binutils >= 2.43 Peter Korsgaard
@ 2024-12-05 19:15 ` Julien Olivain
  0 siblings, 0 replies; 2+ messages in thread
From: Julien Olivain @ 2024-12-05 19:15 UTC (permalink / raw)
  To: Peter Korsgaard; +Cc: buildroot

On 05/12/2024 16:50, Peter Korsgaard wrote:
> Fixes:
> http://autobuild.buildroot.net/results/7e92ee14f714e1699458ea8c9f16ae5cc2f743d9/
> 
> Tweak the ARM assembly labels to make binutils >= 2.43 happy.
> 
> Upstream issue: 
> https://gitlab.freedesktop.org/pixman/pixman/-/issues/96
> 
> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>

Applied to master, thanks.

> ---
>  ...ust-arm-assembly-for-binutils-change.patch | 108 ++++++++++++++++++
>  1 file changed, 108 insertions(+)
>  create mode 100644 
> package/pixman/0002-pixman-Adjust-arm-assembly-for-binutils-change.patch
> 
> diff --git 
> a/package/pixman/0002-pixman-Adjust-arm-assembly-for-binutils-change.patch 
> b/package/pixman/0002-pixman-Adjust-arm-assembly-for-binutils-change.patch
> new file mode 100644
> index 0000000000..2f0fe9f01a
> --- /dev/null
> +++ 
> b/package/pixman/0002-pixman-Adjust-arm-assembly-for-binutils-change.patch
> @@ -0,0 +1,108 @@
> +From 9c000faabe1730c1ec7dbefe7e290e025adf7b69 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
> +(cherry picked from commit 865e6ce00bb79a6b925ed4c2c436e1533e4472aa)
> +Upstream: 
> https://gitlab.freedesktop.org/pixman/pixman/-/commit/865e6ce00bb79a6b925ed4c2c436e1533e4472aa
> +[Peter: rebase on 0.42.2]
> +Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
> +---
> + pixman/pixman-arm-simd-asm.S | 44 
> ++++++++++++++++++------------------
> + 1 file changed, 22 insertions(+), 22 deletions(-)
> +
> +diff --git a/pixman/pixman-arm-simd-asm.S 
> b/pixman/pixman-arm-simd-asm.S
> +index a74a0a8..959a0ba 100644
> +--- a/pixman/pixman-arm-simd-asm.S
> ++++ b/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
> +--
> +2.39.5
> +
> --
> 2.39.5
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-12-05 19:15 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-05 15:50 [Buildroot] [PATCH] package/pixman: backport an upstream patch to fix ARM builds with binutils >= 2.43 Peter Korsgaard
2024-12-05 19:15 ` Julien Olivain

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.