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 ------------------------------------------------------------------------------ Don't Limit Your Business. Reach for the Cloud. GigeNET's Cloud Solutions provide you with the tools and support that you need to offload your IT needs and focus on growing your business. Configured For All Businesses. Start Your Cloud Today. https://www.gigenetcloud.com/ _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel