Now that we have received legal approval of the LLVM / University of Illinois license, I can say that this set of patches looks OK to me. 0. [PATCH 0/4] StdLib: Add ARM SoftFloat & AArch64 supports 1. [PATCH 1/4] StdLib: Added BaseStackLib for ARM architectures 2. [PATCH 2/4] StdLib/LibC: Add software floating point library from NetBSD 3. [PATCH 3/4] StdLib/LibC: Provide missing ARM symbols 4. [PATCH 4/4] StdLib: Add support for AArch64
Reviewed by: Daryl McDaniel <edk2-li...@mc2research.org> Daryl McDaniel -----Original Message----- From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Olivier Martin Sent: Thursday, July 16, 2015 6:52 AM To: daryl.mcdan...@intel.com Cc: bill.fletc...@linaro.org; edk2-de...@ml01.01.org; edk2-devel@lists.sourceforge.net; Olivier Martin <olivier.mar...@arm.com> Subject: [edk2] [PATCH 0/4] StdLib: Add ARM SoftFloat & AArch64 supports This patchset adds support for ARM SoftFloat. ARM Hardware floating point is disabled when building UEFI Firmware. Software Floating point is required to get full StdLib support. This support also adds AArch64 support. Contributed-under: TianoCore Contribution Agreement 1.0 Reviewed-by: Olivier Martin <olivier.mar...@arm.com> Brendan Jackman (1): StdLib: Add support for AArch64 Harry Liebel (2): StdLib/LibC: Add software floating point library from NetBSD StdLib/LibC: Provide missing ARM symbols Olivier Martin (1): StdLib: Added BaseStackLib for ARM architectures StdLib/Include/Aarch64/arm-gcc.h | 110 + StdLib/Include/Aarch64/machine/ansi.h | 106 + StdLib/Include/Aarch64/machine/bswap.h | 13 + StdLib/Include/Aarch64/machine/byte_swap.h | 63 + StdLib/Include/Aarch64/machine/endian.h | 3 + StdLib/Include/Aarch64/machine/endian_machdep.h | 3 + StdLib/Include/Aarch64/machine/fenv.h | 39 + StdLib/Include/Aarch64/machine/float.h | 59 + StdLib/Include/Aarch64/machine/ieee.h | 31 + StdLib/Include/Aarch64/machine/ieeefp.h | 45 + StdLib/Include/Aarch64/machine/int_const.h | 63 + StdLib/Include/Aarch64/machine/int_limits.h | 127 + StdLib/Include/Aarch64/machine/int_mwgwtypes.h | 82 + StdLib/Include/Aarch64/machine/int_types.h | 61 + StdLib/Include/Aarch64/machine/limits.h | 100 + StdLib/Include/Aarch64/machine/math.h | 3 + StdLib/Include/Aarch64/machine/param.h | 124 + StdLib/Include/Aarch64/machine/signal.h | 22 + StdLib/Include/Aarch64/machine/types.h | 82 + StdLib/Include/Aarch64/milieu.h | 52 + StdLib/Include/Aarch64/softfloat.h | 316 ++ StdLib/Include/Arm/arm-gcc.h | 114 + StdLib/Include/Arm/machine/fenv.h | 55 + StdLib/Include/Arm/machine/ieeefp.h | 58 + StdLib/Include/Arm/milieu.h | 38 + StdLib/Include/Arm/softfloat.h | 316 ++ StdLib/Include/ieeefp.h | 46 + StdLib/LibC/LibC.inf | 5 + StdLib/LibC/Main/Arm/fixunsdfsi.c | 74 + StdLib/LibC/Main/Arm/floatunsidf.c | 71 + StdLib/LibC/Main/Arm/fp_lib.h | 282 + StdLib/LibC/Main/Arm/int_endianness.h | 71 + StdLib/LibC/Main/Arm/int_lib.h | 105 + StdLib/LibC/Main/Arm/int_types.h | 170 + StdLib/LibC/Main/Arm/int_util.h | 68 + StdLib/LibC/Softfloat/Arm/__aeabi_dcmpeq.c | 37 + StdLib/LibC/Softfloat/Arm/__aeabi_dcmpge.c | 35 + StdLib/LibC/Softfloat/Arm/__aeabi_dcmpgt.c | 37 + StdLib/LibC/Softfloat/Arm/__aeabi_dcmple.c | 37 + StdLib/LibC/Softfloat/Arm/__aeabi_dcmplt.c | 37 + StdLib/LibC/Softfloat/Arm/__aeabi_dcmpun.c | 42 + StdLib/LibC/Softfloat/Arm/__aeabi_fcmpeq.c | 37 + StdLib/LibC/Softfloat/Arm/__aeabi_fcmpge.c | 37 + StdLib/LibC/Softfloat/Arm/__aeabi_fcmpgt.c | 37 + StdLib/LibC/Softfloat/Arm/__aeabi_fcmple.c | 37 + StdLib/LibC/Softfloat/Arm/__aeabi_fcmplt.c | 37 + StdLib/LibC/Softfloat/Arm/__aeabi_fcmpun.c | 42 + StdLib/LibC/Softfloat/Makefile.inc | 42 + StdLib/LibC/Softfloat/README.NetBSD | 8 + StdLib/LibC/Softfloat/README.txt | 39 + StdLib/LibC/Softfloat/Softfloat.inf | 74 + StdLib/LibC/Softfloat/bits32/softfloat-macros | 648 +++ StdLib/LibC/Softfloat/bits32/softfloat.c | 2355 ++++++++ StdLib/LibC/Softfloat/bits64/softfloat-macros | 745 +++ StdLib/LibC/Softfloat/bits64/softfloat.c | 5602 ++++++++++++++++++++ StdLib/LibC/Softfloat/eqdf2.c | 38 + StdLib/LibC/Softfloat/eqsf2.c | 38 + StdLib/LibC/Softfloat/eqtf2.c | 40 + StdLib/LibC/Softfloat/fpgetmask.c | 55 + StdLib/LibC/Softfloat/fpgetround.c | 55 + StdLib/LibC/Softfloat/fpgetsticky.c | 55 + StdLib/LibC/Softfloat/fpsetmask.c | 60 + StdLib/LibC/Softfloat/fpsetround.c | 60 + StdLib/LibC/Softfloat/fpsetsticky.c | 60 + StdLib/LibC/Softfloat/gedf2.c | 38 + StdLib/LibC/Softfloat/gesf2.c | 38 + StdLib/LibC/Softfloat/getf2.c | 40 + StdLib/LibC/Softfloat/gexf2.c | 39 + StdLib/LibC/Softfloat/gtdf2.c | 36 + StdLib/LibC/Softfloat/gtsf2.c | 36 + StdLib/LibC/Softfloat/gttf2.c | 40 + StdLib/LibC/Softfloat/gtxf2.c | 39 + StdLib/LibC/Softfloat/ledf2.c | 36 + StdLib/LibC/Softfloat/lesf2.c | 36 + StdLib/LibC/Softfloat/letf2.c | 40 + StdLib/LibC/Softfloat/ltdf2.c | 36 + StdLib/LibC/Softfloat/ltsf2.c | 36 + StdLib/LibC/Softfloat/lttf2.c | 40 + StdLib/LibC/Softfloat/nedf2.c | 36 + StdLib/LibC/Softfloat/negdf2.c | 36 + StdLib/LibC/Softfloat/negsf2.c | 36 + StdLib/LibC/Softfloat/negtf2.c | 41 + StdLib/LibC/Softfloat/negxf2.c | 39 + StdLib/LibC/Softfloat/nesf2.c | 36 + StdLib/LibC/Softfloat/netf2.c | 40 + StdLib/LibC/Softfloat/nexf2.c | 39 + StdLib/LibC/Softfloat/softfloat-for-gcc.h | 242 + StdLib/LibC/Softfloat/softfloat-history.txt | 52 + StdLib/LibC/Softfloat/softfloat-source.txt | 383 ++ StdLib/LibC/Softfloat/softfloat-specialize | 529 ++ StdLib/LibC/Softfloat/softfloat.txt | 372 ++ StdLib/LibC/Softfloat/templates/milieu.h | 48 + .../LibC/Softfloat/templates/softfloat-specialize | 464 ++ StdLib/LibC/Softfloat/templates/softfloat.h | 290 + StdLib/LibC/Softfloat/timesoftfloat.c | 2641 +++++++++ StdLib/LibC/Softfloat/timesoftfloat.txt | 149 + StdLib/LibC/Softfloat/unorddf2.c | 40 + StdLib/LibC/Softfloat/unordsf2.c | 40 + StdLib/LibC/Softfloat/unordtf2.c | 44 + StdLib/LibC/gdtoa/gdtoa.inf | 4 + StdLib/StdLib.dec | 3 + StdLib/StdLib.dsc | 2 +- StdLib/StdLib.inc | 10 + 103 files changed, 19548 insertions(+), 1 deletion(-) create mode 100644 StdLib/Include/Aarch64/arm-gcc.h create mode 100644 StdLib/Include/Aarch64/machine/ansi.h create mode 100644 StdLib/Include/Aarch64/machine/bswap.h create mode 100644 StdLib/Include/Aarch64/machine/byte_swap.h create mode 100644 StdLib/Include/Aarch64/machine/endian.h create mode 100644 StdLib/Include/Aarch64/machine/endian_machdep.h create mode 100644 StdLib/Include/Aarch64/machine/fenv.h create mode 100644 StdLib/Include/Aarch64/machine/float.h create mode 100644 StdLib/Include/Aarch64/machine/ieee.h create mode 100644 StdLib/Include/Aarch64/machine/ieeefp.h create mode 100644 StdLib/Include/Aarch64/machine/int_const.h create mode 100644 StdLib/Include/Aarch64/machine/int_limits.h create mode 100644 StdLib/Include/Aarch64/machine/int_mwgwtypes.h create mode 100644 StdLib/Include/Aarch64/machine/int_types.h create mode 100644 StdLib/Include/Aarch64/machine/limits.h create mode 100644 StdLib/Include/Aarch64/machine/math.h create mode 100644 StdLib/Include/Aarch64/machine/param.h create mode 100644 StdLib/Include/Aarch64/machine/signal.h create mode 100644 StdLib/Include/Aarch64/machine/types.h create mode 100644 StdLib/Include/Aarch64/milieu.h create mode 100644 StdLib/Include/Aarch64/softfloat.h create mode 100644 StdLib/Include/Arm/arm-gcc.h create mode 100644 StdLib/Include/Arm/machine/fenv.h create mode 100644 StdLib/Include/Arm/machine/ieeefp.h create mode 100644 StdLib/Include/Arm/milieu.h create mode 100644 StdLib/Include/Arm/softfloat.h create mode 100644 StdLib/Include/ieeefp.h create mode 100644 StdLib/LibC/Main/Arm/fixunsdfsi.c create mode 100644 StdLib/LibC/Main/Arm/floatunsidf.c create mode 100644 StdLib/LibC/Main/Arm/fp_lib.h create mode 100644 StdLib/LibC/Main/Arm/int_endianness.h create mode 100644 StdLib/LibC/Main/Arm/int_lib.h create mode 100644 StdLib/LibC/Main/Arm/int_types.h create mode 100644 StdLib/LibC/Main/Arm/int_util.h create mode 100644 StdLib/LibC/Softfloat/Arm/__aeabi_dcmpeq.c create mode 100644 StdLib/LibC/Softfloat/Arm/__aeabi_dcmpge.c create mode 100644 StdLib/LibC/Softfloat/Arm/__aeabi_dcmpgt.c create mode 100644 StdLib/LibC/Softfloat/Arm/__aeabi_dcmple.c create mode 100644 StdLib/LibC/Softfloat/Arm/__aeabi_dcmplt.c create mode 100644 StdLib/LibC/Softfloat/Arm/__aeabi_dcmpun.c create mode 100644 StdLib/LibC/Softfloat/Arm/__aeabi_fcmpeq.c create mode 100644 StdLib/LibC/Softfloat/Arm/__aeabi_fcmpge.c create mode 100644 StdLib/LibC/Softfloat/Arm/__aeabi_fcmpgt.c create mode 100644 StdLib/LibC/Softfloat/Arm/__aeabi_fcmple.c create mode 100644 StdLib/LibC/Softfloat/Arm/__aeabi_fcmplt.c create mode 100644 StdLib/LibC/Softfloat/Arm/__aeabi_fcmpun.c create mode 100644 StdLib/LibC/Softfloat/Makefile.inc create mode 100644 StdLib/LibC/Softfloat/README.NetBSD create mode 100644 StdLib/LibC/Softfloat/README.txt create mode 100644 StdLib/LibC/Softfloat/Softfloat.inf create mode 100644 StdLib/LibC/Softfloat/bits32/softfloat-macros create mode 100644 StdLib/LibC/Softfloat/bits32/softfloat.c create mode 100644 StdLib/LibC/Softfloat/bits64/softfloat-macros create mode 100644 StdLib/LibC/Softfloat/bits64/softfloat.c create mode 100644 StdLib/LibC/Softfloat/eqdf2.c create mode 100644 StdLib/LibC/Softfloat/eqsf2.c create mode 100644 StdLib/LibC/Softfloat/eqtf2.c create mode 100644 StdLib/LibC/Softfloat/fpgetmask.c create mode 100644 StdLib/LibC/Softfloat/fpgetround.c create mode 100644 StdLib/LibC/Softfloat/fpgetsticky.c create mode 100644 StdLib/LibC/Softfloat/fpsetmask.c create mode 100644 StdLib/LibC/Softfloat/fpsetround.c create mode 100644 StdLib/LibC/Softfloat/fpsetsticky.c create mode 100644 StdLib/LibC/Softfloat/gedf2.c create mode 100644 StdLib/LibC/Softfloat/gesf2.c create mode 100644 StdLib/LibC/Softfloat/getf2.c create mode 100644 StdLib/LibC/Softfloat/gexf2.c create mode 100644 StdLib/LibC/Softfloat/gtdf2.c create mode 100644 StdLib/LibC/Softfloat/gtsf2.c create mode 100644 StdLib/LibC/Softfloat/gttf2.c create mode 100644 StdLib/LibC/Softfloat/gtxf2.c create mode 100644 StdLib/LibC/Softfloat/ledf2.c create mode 100644 StdLib/LibC/Softfloat/lesf2.c create mode 100644 StdLib/LibC/Softfloat/letf2.c create mode 100644 StdLib/LibC/Softfloat/ltdf2.c create mode 100644 StdLib/LibC/Softfloat/ltsf2.c create mode 100644 StdLib/LibC/Softfloat/lttf2.c create mode 100644 StdLib/LibC/Softfloat/nedf2.c create mode 100644 StdLib/LibC/Softfloat/negdf2.c create mode 100644 StdLib/LibC/Softfloat/negsf2.c create mode 100644 StdLib/LibC/Softfloat/negtf2.c create mode 100644 StdLib/LibC/Softfloat/negxf2.c create mode 100644 StdLib/LibC/Softfloat/nesf2.c create mode 100644 StdLib/LibC/Softfloat/netf2.c create mode 100644 StdLib/LibC/Softfloat/nexf2.c create mode 100644 StdLib/LibC/Softfloat/softfloat-for-gcc.h create mode 100644 StdLib/LibC/Softfloat/softfloat-history.txt create mode 100644 StdLib/LibC/Softfloat/softfloat-source.txt create mode 100644 StdLib/LibC/Softfloat/softfloat-specialize create mode 100644 StdLib/LibC/Softfloat/softfloat.txt create mode 100644 StdLib/LibC/Softfloat/templates/milieu.h create mode 100644 StdLib/LibC/Softfloat/templates/softfloat-specialize create mode 100644 StdLib/LibC/Softfloat/templates/softfloat.h create mode 100644 StdLib/LibC/Softfloat/timesoftfloat.c create mode 100644 StdLib/LibC/Softfloat/timesoftfloat.txt create mode 100644 StdLib/LibC/Softfloat/unorddf2.c create mode 100644 StdLib/LibC/Softfloat/unordsf2.c create mode 100644 StdLib/LibC/Softfloat/unordtf2.c -- 2.1.1 _______________________________________________ edk2-devel mailing list edk2-de...@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel ------------------------------------------------------------------------------ _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel