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 <[email protected]>
Daryl McDaniel
-----Original Message-----
From: edk2-devel [mailto:[email protected]] On Behalf Of
Olivier Martin
Sent: Thursday, July 16, 2015 6:52 AM
To: [email protected]
Cc: [email protected]; [email protected];
[email protected]; Olivier Martin <[email protected]>
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 <[email protected]>
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
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel
------------------------------------------------------------------------------
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel