[edk2] [PATCH 0/3] fixes for CLANG35 on ARM

Gao, Liming liming.gao at intel.com
Wed Dec 12 06:01:07 PST 2018


Ard:
  I have no comments on this patch. So, CLANG38 has no issue. If so, could you recommend use CLANG38? 

Thanks
Liming
> -----Original Message-----
> From: Ard Biesheuvel [mailto:ard.biesheuvel at linaro.org]
> Sent: Wednesday, December 12, 2018 6:33 PM
> To: edk2-devel at lists.01.org
> Cc: Ard Biesheuvel <ard.biesheuvel at linaro.org>; Kinney, Michael D <michael.d.kinney at intel.com>; Gao, Liming
> <liming.gao at intel.com>; Feng, Bob C <bob.c.feng at intel.com>; Leif Lindholm <leif.lindholm at linaro.org>; Laszlo Ersek
> <lersek at redhat.com>
> Subject: [PATCH 0/3] fixes for CLANG35 on ARM
> 
> Building with Clang 3.5 for ARM may result in build breakage, due to the
> fact that it may emit non-adjacent movw/movt instructions pairs which
> cannot be relocated in PE/COFF. We pass -mno-movt in some places to
> work around a related issue in the relocatable PrePi in ArmVirtPkg, but
> we need to disable movw/movt entirely to really address this issue.
> 
> So first, fix some breakage that results from building with -mlong-calls
> in the optimized BaseMemoryLib code (#1)
> 
> Patch #2 switches to -mkernel, which disables movw/movt generation (and
> enabled -mlong-calls as a side effect)
> 
> Patch #3 removes the now redundant, and incompatible command line
> overrides for the relocatable PrePi.
> 
> Cc: Michael D Kinney <michael.d.kinney at intel.com>
> Cc: Liming Gao <liming.gao at intel.com>
> Cc: Bob Feng <bob.c.feng at intel.com>
> Cc: Leif Lindholm <leif.lindholm at linaro.org>
> Cc: Laszlo Ersek <lersek at redhat.com>
> 
> Ard Biesheuvel (3):
>   MdePkg/BaseMemoryLibOptDxe ARM: add missing function annotations
>   BaseTools/tools_def ARM CLANG35: work around -mno-movt option name
>     change
>   ArmVirtPkg/PrePi ARM CLANG35: drop incompatible command line option
> 
>  ArmVirtPkg/ArmVirtQemuKernel.dsc                     | 5 -----
>  ArmVirtPkg/ArmVirtXen.dsc                            | 5 -----
>  BaseTools/Conf/tools_def.template                    | 2 +-
>  MdePkg/Library/BaseMemoryLibOptDxe/Arm/CompareGuid.S | 1 +
>  MdePkg/Library/BaseMemoryLibOptDxe/Arm/CompareMem.S  | 1 +
>  MdePkg/Library/BaseMemoryLibOptDxe/Arm/CopyMem.S     | 1 +
>  MdePkg/Library/BaseMemoryLibOptDxe/Arm/SetMem.S      | 5 +++++
>  7 files changed, 9 insertions(+), 11 deletions(-)
> 
> --
> 2.19.2



More information about the edk2-devel mailing list