[edk2-devel] [PATCH 1/1] ArmPkg/CompilerIntrinsicsLib: Add lasr assembly source for gcc/arm

Pete Batard pete at akeo.ie
Tue May 7 15:57:26 UTC 2019


While compiling drivers or applications on Debian 9.8, using the native
gcc 6.3.0 ARM compiler, one may run into the following build failure:

  "undefined reference to `__aeabi_lasr'"

This patch adds the missing definition, through a port of the existing
RVCT lasr.asm source.

CC: Ard Biesheuvel <ard.biesheuvel at linaro.org>
CC: Leif Lindholm <leif.lindholm at linaro.org>
Signed-off-by: Pete Batard <pete at akeo.ie>
---
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/lasr.S                | 22 ++++++++++++++++++++
 ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf |  1 +
 2 files changed, 23 insertions(+)

diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/lasr.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/lasr.S
new file mode 100644
index 000000000000..9ded045b8bc4
--- /dev/null
+++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/lasr.S
@@ -0,0 +1,22 @@
+#------------------------------------------------------------------------------
+#
+# Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+#------------------------------------------------------------------------------
+
+#include <AsmMacroIoLib.h>
+
+ASM_FUNC(__aeabi_lasr)
+  subs     r3,r2,#0x20
+  bpl      L_Test
+  rsb      r3,r2,#0x20
+  lsr      r0,r0,r2
+  orr      r0,r0,r1,LSL r3
+  asr      r1,r1,r2
+  bx       lr
+L_Test:
+  asr      r0,r1,r3
+  asr      r1,r1,#31
+  bx       lr
diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf b/ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
index 0d5634959993..7cb8f194f210 100644
--- a/ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
+++ b/ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
@@ -90,6 +90,7 @@ [Sources.ARM]
   Arm/uldiv.S      | GCC
   Arm/ldivmod.S    | GCC
 
+  Arm/lasr.S       | GCC
   Arm/llsr.S       | GCC
   Arm/llsl.S       | GCC
 
-- 
2.21.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#40123): https://edk2.groups.io/g/devel/message/40123
Mute This Topic: https://groups.io/mt/31533433/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list