diff mbox series

[kirkstone] arm-bsp/secure-partitions: fix build with GCC 11.4

Message ID 20230824145303.1956465-1-ross.burton@arm.com
State New
Headers show
Series [kirkstone] arm-bsp/secure-partitions: fix build with GCC 11.4 | expand

Commit Message

Ross Burton Aug. 24, 2023, 2:53 p.m. UTC
From: Ross Burton <ross.burton@arm.com>

GCC 11.4 has improved code generation and needs the __aarch64_cas4_sync
intrinsic from libgcc, but one of the modules here doesn't link to
libgcc.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 ...7-Add-openamp-to-SE-proxy-deployment.patch | 25 +++++++++++++------
 1 file changed, 17 insertions(+), 8 deletions(-)

Comments

Jon Mason Aug. 26, 2023, 4:07 p.m. UTC | #1
On Thu, 24 Aug 2023 15:53:03 +0100, ross.burton@arm.com wrote:
> GCC 11.4 has improved code generation and needs the __aarch64_cas4_sync
> intrinsic from libgcc, but one of the modules here doesn't link to
> libgcc.
> 
> 

Applied, thanks!

[1/1] arm-bsp/secure-partitions: fix build with GCC 11.4
      commit: b187fb9232ca0a6b5f8f90b4715958546fc41d73

Best regards,
diff mbox series

Patch

diff --git a/meta-arm-bsp/recipes-security/trusted-services/secure-partitions/corstone1000/0007-Add-openamp-to-SE-proxy-deployment.patch b/meta-arm-bsp/recipes-security/trusted-services/secure-partitions/corstone1000/0007-Add-openamp-to-SE-proxy-deployment.patch
index 06fb4979..3cb44aaf 100644
--- a/meta-arm-bsp/recipes-security/trusted-services/secure-partitions/corstone1000/0007-Add-openamp-to-SE-proxy-deployment.patch
+++ b/meta-arm-bsp/recipes-security/trusted-services/secure-partitions/corstone1000/0007-Add-openamp-to-SE-proxy-deployment.patch
@@ -53,7 +53,7 @@  new file mode 100644
 index 0000000..840683a
 --- /dev/null
 +++ b/deployments/se-proxy/opteesp/lse.S
-@@ -0,0 +1,19 @@
+@@ -0,0 +1,28 @@
 +// SPDX-License-Identifier: BSD-3-Clause
 +/*
 + * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
@@ -61,18 +61,27 @@  index 0000000..840683a
 +
 +.text
 +.globl __aarch64_cas4_acq_rel
++.globl __aarch64_cas4_sync
 +
 +__aarch64_cas4_acq_rel:
-+	mov	w16, w0
-+	ldaxr	w0, [x2]
-+	cmp	w0, w16
-+0:	bne	1f
++       mov     w16, w0
++       ldaxr   w0, [x2]
++       cmp     w0, w16
++0:     bne     1f
 +
-+	stlxr	w17, w1, [x2]
-+	cbnz	w17, 0b
-+1:	ret
++       stlxr   w17, w1, [x2]
++       cbnz    w17, 0b
++1:     ret
 +
++__aarch64_cas4_sync:
++       mov     w16, w0
++       ldxr    w0, [x2]
++       cmp     w0, w16
++0:     bne     1f
 +
++       stlxr   w17, w1, [x2]
++       cbnz    w17, 0b
++1:     ret
 diff --git a/external/openamp/libmetal.cmake b/external/openamp/libmetal.cmake
 new file mode 100644
 index 0000000..3a647e6