Message ID | 20191205190006.19352-1-philmd@redhat.com |
---|---|
State | New |
Headers | show |
Series | [PATCH-for-5.0,v2] roms/edk2-funcs: Force softfloat ARM toolchain prefix on Debian | expand |
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. > > Signed-off-by: Philippe Mathieu-Daudé <philmd@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. With the comment updated: Reviewed-by: Laszlo Ersek <lersek@redhat.com> Thanks, Laszlo > + printf 'arm-linux-gnueabi-' > else > printf '%s-linux-gnu-\n' "$gcc_arch" > fi >
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é <philmd@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 <lersek@redhat.com> Thanks! > > Thanks, > Laszlo > >> + printf 'arm-linux-gnueabi-' >> else >> printf '%s-linux-gnu-\n' "$gcc_arch" >> fi >> >
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 + printf 'arm-linux-gnueabi-' else printf '%s-linux-gnu-\n' "$gcc_arch" fi
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 Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> --- roms/edk2-funcs.sh | 3 +++ 1 file changed, 3 insertions(+)