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

Leif Lindholm leif.lindholm at linaro.org
Mon May 13 15:56:36 UTC 2019


Hi Pete,

On Mon, May 13, 2019 at 09:54:12AM +0100, Pete Batard wrote:
> 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.

Many thanks for this cleanup.
For the series - Reviewed-by: Leif Lindholm <leif.lindholm at linaro.org>
Pushed as 4ff689d982..96ef5a8e30.

But. One question:

When building with Visual Studio 2017, I get the following warning:
"cl : Command line warning D9025 : overriding '/GL' with '/GL-'"
(This is not caused by anything in this set.)

Should we also /wd9025 in the .inf (I think so, since we're explicitly
mucking with the toolchain here), and if so could you send an
additional patch to do that since Ard is still away and I can't sign
off my own patches? :)

Best Regards,

Leif

> 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 (#40522): https://edk2.groups.io/g/devel/message/40522
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