[edk2-devel] [PATCH v2 0/7] update ArmSoftFloatLib to latest upstream version

Laszlo Ersek lersek at redhat.com
Tue May 28 11:29:14 UTC 2019


On 05/27/19 22:51, Ard Biesheuvel wrote:
> Currently, our move to OpenSSL 1.1.1b is being blocked by an issue in
> the ARM software floating point library, which lacks some intrinsics
> that the ARM EABI spec defines.
> 
> Since the code was in pretty sorry state, let's fix this by upgrading
> to the very latest version of the core library this code is based on,
> dated January 2018 (whereas the NetBSD fork of the old code dates back
> to 2002)
> 
> Note that this drops support for RVCT, but this toolchain is untested
> and will likely be removed. [0]
> 
> Code can be found here:
> https://github.com/ardbiesheuvel/edk2/tree/arm-softfloat-upgrade-v2
> 
> Changes since v1:
> - Update the INLINE macro to pass __attribute__((always_inline)), to work
>   around a build issue that occurs when optimization is disabled.
> - Add a patch to remove the unused files. As it turns out, 385 of the ~450
>   files are unused (which is a lot more than Laszlo reported), and so it
>   makes sense to merge patch #4 into patch #1
> - Add a patch to add SPDX identifiers to the files that we are keeping (#5).
>   This patch can be merged into #1 as well.
> - Add patches to work around issues that prevent the new code to build with
>   Clang. Patch #6 is actually related to the OpenSSL upgrade, while patch #7
>   is related to Clang 7 (and has been posted already 6 months ago)
> 
> Note that another issue popped up, which affects the OpenSSL 1.1.1b upgrade:
> 
>   .../CryptoPkg/Library/OpensslLib/openssl/crypto/conf/conf_sap.c:71:12:
>   error: variable 'ret' is uninitialized when used here [-Werror,-Wuninitialized]
>     return ret;
>            ^~~
>   .../CryptoPkg/Library/OpensslLib/openssl/crypto/conf/conf_sap.c:44:12:
>   note: initialize the variable 'ret' to silence this warning
>     int ret;
>            ^
>             = 0
>   1 error generated.
> 
> This appears to be a regression in the OpenSSL upstream code (commit
> 25eb9299cec), which no longer initializes ret if OPENSSL_SYS_UEFI is #defined.
> 
> Cc: Laszlo Ersek <lersek at redhat.com>
> Cc: "Gao, Liming" <liming.gao at intel.com>
> Cc: "Wang, Jian J" <jian.j.wang at intel.com>
> Cc: Leif Lindholm <leif.lindholm at linaro.org>
> Cc: Michael D Kinney <michael.d.kinney at intel.com>
> 
> [0] https://bugzilla.tianocore.org/show_bug.cgi?id=1750
> 
> Ard Biesheuvel (7):
>   ArmPkg: import latest version (3e) of the Berkeley Softfloat library
>   ArmPkg/ArmSoftFloatLib: switch to new version of softfloat library
>   ArmPkg/ArmSoftFloatLib: remove source files that are no longer used
>   ArmPkg/ArmSoftFloatLib: remove new source files that are not used
>   ArmPkg/ArmSoftFloatLib: add SPDX identifiers
>   BaseTools/tools_def CLANG3x ARM AARCH64: force use of C99 standard
>   ArmPkg/ArmLib ARM: set .fpu to let Clang 7 assemble ArmV7Support.S

series
Acked-by: Laszlo Ersek <lersek at redhat.com>


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

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