On 12/6/19 1:19 AM, Laszlo Ersek wrote:
On 12/05/19 20:00, Philippe Mathieu-Daudé wrote:
The Debian (based) distributions currently provides 2 ARM
toolchains, documented as [1]:
* The ARM EABI (armel) port targets a range of older 32-bit ARM
devices, particularly those used in NAS hardware and a variety
of *plug computers.
* The newer ARM hard-float (armhf) port supports newer, more
powerful 32-bit devices using version 7 of the ARM architecture
specification.
For various reasons documented in [2], the EDK2 project recommend
to use the softfloat toolchain (named 'armel' by Debian).
Force the softfloat cross toolchain prefix on Debian distributions.
[1] https://www.debian.org/ports/arm/#status
[2] https://github.com/tianocore/edk2/commit/41203b9a
Ah cool, this answers my earlier question -- "the GCCx toolchain targets
can use either when building for ARM".
Still not sure if this is a "recommendation" for using soft-float, but
if it works, I'm OK with it.
I'll use "suggests" instead.
Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com>
---
roms/edk2-funcs.sh | 3 +++
1 file changed, 3 insertions(+)
diff --git a/roms/edk2-funcs.sh b/roms/edk2-funcs.sh
index 3f4485b201..abd6bbe1fd 100644
--- a/roms/edk2-funcs.sh
+++ b/roms/edk2-funcs.sh
@@ -112,6 +112,9 @@ qemu_edk2_get_cross_prefix()
( [ "$gcc_arch" == i686 ] && [ "$host_arch" == x86_64 ] ); then
# no cross-compiler needed
:
+ elif ( [ -e /etc/debian_version ] && [ "$gcc_arch" == arm ] ); then
+ # force hard-float cross-compiler on Debian
The comment has not been updated; it still says hard-float.
Oops.
With the comment updated:
Reviewed-by: Laszlo Ersek <ler...@redhat.com>
Thanks!
Thanks,
Laszlo
+ printf 'arm-linux-gnueabi-'
else
printf '%s-linux-gnu-\n' "$gcc_arch"
fi