[edk2-devel] [PATCH v2 0/4] ArmPkg/CompilerIntrinsicsLib: Update MSFT, GCC intrinsics

Pete Batard pete at akeo.ie
Mon May 13 08:54:12 UTC 2019


This patch series cleans up and updates the CompilerIntrinsicsLib for ArmPkg.

The first patch removes sources that are no longer used and cleans up the .inf.
The second patch adds memcmp and memmove for MSFT, as I ran into missing symbols
for those while compiling a project with VS2017. Note that we are not reusing
the memmove.asm from ARM and instead adding a separate C source, as we need an
implemention that applies for both ARM and ARM64.
The third patch adds a lasr implementation, which I found was needed to fix
missing symbols when compiling with GCC/ARM on Debian 9.8.
The last patch premtpively adds references for uread/uwrite for completion.

Regards,

/Pete

Pete Batard (4):
  ArmPkg/CompilerIntrinsicsLib: Remove unused sources and clean up .inf
  ArmPkg/CompilerIntrinsicsLib: Add memcmp, memmove intrinsics for MSFT
  ArmPkg/CompilerIntrinsicsLib: Add lasr ARM assembly source for GCC
  ArmPkg/CompilerIntrinsicsLib: Add uread, uwrite GCC assembly sources

 ArmPkg/Library/CompilerIntrinsicsLib/Arm/Llvm_int_lib.h        |  93 -------
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/ashldi3.c             |  77 ------
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/ashrdi3.c             |  78 ------
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/clzsi2.c              |  90 -------
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/ctzsi2.c              |  92 -------
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/divdi3.c              |  71 -----
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/divsi3.c              |  72 -----
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/lasr.S                |  30 +++
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/lshrdi3.c             |  77 ------
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/moddi3.c              |  71 -----
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/modsi3.c              |  64 -----
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/muldi3.c              |  92 -------
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/ucmpdi2.c             |  76 ------
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivdi3.c             |  65 -----
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivmoddi4.c          | 281 --------------------
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivsi3.c             | 105 --------
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/uldivmod.c            |  37 ---
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/umoddi3.c             |  66 -----
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/umodsi3.c             |  62 -----
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/uread.S               |  54 ++++
 ArmPkg/Library/CompilerIntrinsicsLib/Arm/uwrite.S              |  53 ++++
 ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf | 108 +++-----
 ArmPkg/Library/CompilerIntrinsicsLib/memcmp_ms.c               |  31 +++
 ArmPkg/Library/CompilerIntrinsicsLib/memmove_ms.c              |  34 +++
 24 files changed, 245 insertions(+), 1634 deletions(-)
 delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/Llvm_int_lib.h
 delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/ashldi3.c
 delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/ashrdi3.c
 delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/clzsi2.c
 delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/ctzsi2.c
 delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/divdi3.c
 delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/divsi3.c
 create mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/lasr.S
 delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/lshrdi3.c
 delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/moddi3.c
 delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/modsi3.c
 delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/muldi3.c
 delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/ucmpdi2.c
 delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivdi3.c
 delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivmoddi4.c
 delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivsi3.c
 delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/uldivmod.c
 delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/umoddi3.c
 delete mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/umodsi3.c
 create mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/uread.S
 create mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/Arm/uwrite.S
 create mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/memcmp_ms.c
 create mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/memmove_ms.c

-- 
2.21.0.windows.1


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

View/Reply Online (#40488): https://edk2.groups.io/g/devel/message/40488
Mute This Topic: https://groups.io/mt/31605109/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