diff mbox

[1/4] configs/raspberrypi: use EABIhf

Message ID 1440273688-92868-1-git-send-email-benoit@wsystem.com
State Accepted
Headers show

Commit Message

Benoît Thébaudeau Aug. 22, 2015, 8:01 p.m. UTC
The SoC of the Raspberry Pi 1 is an ARM1176JZF-S, which features a VFPv2
FPU, so use the EABIhf target ABI, which is more efficient than EABI.
This is also the default on Raspbian.

Signed-off-by: Benoît Thébaudeau <benoit@wsystem.com>
---
 configs/raspberrypi_defconfig | 1 +
 1 file changed, 1 insertion(+)

Comments

Thomas Petazzoni Oct. 12, 2015, 9:59 p.m. UTC | #1
Dear Benoît Thébaudeau,

On Sat, 22 Aug 2015 22:01:25 +0200, Benoît Thébaudeau wrote:
> The SoC of the Raspberry Pi 1 is an ARM1176JZF-S, which features a VFPv2
> FPU, so use the EABIhf target ABI, which is more efficient than EABI.
> This is also the default on Raspbian.
> 
> Signed-off-by: Benoît Thébaudeau <benoit@wsystem.com>
> ---
>  configs/raspberrypi_defconfig | 1 +
>  1 file changed, 1 insertion(+)

Applied, thanks. I actually believe we should be doing the same for all
ARMv6/ARMv7 platforms, except if there is a specific issue with using
EABIhf (such as existing pre-built binaries that are EABI only).

Maybe we should even use EABIhf by default on ARMv6+.

Thomas
Benoît Thébaudeau Oct. 12, 2015, 11:17 p.m. UTC | #2
Dear Thomas Petazzoni,

On Mon, Oct 12, 2015 at 11:59 PM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Applied, thanks. I actually believe we should be doing the same for all
> ARMv6/ARMv7 platforms, except if there is a specific issue with using
> EABIhf (such as existing pre-built binaries that are EABI only).

Yes, there is such an issue because some hardware vendors provide
closed libraries that use soft-FP. It was the case e.g. for i.MX6
(audio/video CODEC and GPU libraries), but they now provide hard-float
binaries IIRC. So such a change should be checked on a per-platform
basis.

> Maybe we should even use EABIhf by default on ARMv6+.

Yes, I think that it would be a sane default, and it would still be
possible to set EABI for a specific platform for which EABIhf would
not apply.

Best regards,
Benoît
Arnout Vandecappelle Oct. 13, 2015, 7:06 a.m. UTC | #3
On 13-10-15 01:17, Benoît Thébaudeau wrote:
> Dear Thomas Petazzoni,
> 
> On Mon, Oct 12, 2015 at 11:59 PM, Thomas Petazzoni
> <thomas.petazzoni@free-electrons.com> wrote:
>> Applied, thanks. I actually believe we should be doing the same for all
>> ARMv6/ARMv7 platforms, except if there is a specific issue with using
>> EABIhf (such as existing pre-built binaries that are EABI only).
> 
> Yes, there is such an issue because some hardware vendors provide
> closed libraries that use soft-FP. It was the case e.g. for i.MX6
> (audio/video CODEC and GPU libraries), but they now provide hard-float
> binaries IIRC. So such a change should be checked on a per-platform
> basis.

 Actually, I think at the BR developer meeting we decided that even if there are
binary-only packages that require softfloat, our defconfig should still use
hardfloat if possible (since the defconfig doesn't enable that package). Anyway
the point is moot since those binary packages will in my experience also depend
on glibc, so the defconfig will not work for them anyway. Also, I can't find
this back in the report :-(


 Regards,
 Arnout

> 
>> Maybe we should even use EABIhf by default on ARMv6+.
> 
> Yes, I think that it would be a sane default, and it would still be
> possible to set EABI for a specific platform for which EABIhf would
> not apply.
> 
> Best regards,
> Benoît
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>
Peter Korsgaard Oct. 15, 2015, 8:11 p.m. UTC | #4
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

Hi,

> Applied, thanks. I actually believe we should be doing the same for all
 > ARMv6/ARMv7 platforms, except if there is a specific issue with using
 > EABIhf (such as existing pre-built binaries that are EABI only).

 > Maybe we should even use EABIhf by default on ARMv6+.

Agreed!
Peter Korsgaard Oct. 15, 2015, 9:12 p.m. UTC | #5
>>>>> "Peter" == Peter Korsgaard <peter@korsgaard.com> writes:

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:
 > Hi,

 >> Applied, thanks. I actually believe we should be doing the same for all
 >> ARMv6/ARMv7 platforms, except if there is a specific issue with using
 >> EABIhf (such as existing pre-built binaries that are EABI only).

 >> Maybe we should even use EABIhf by default on ARMv6+.

 > Agreed!

Only potential disadvantage is that we currently don't have any
preconfigured external ARMv6 EABIhf toolchains :/
diff mbox

Patch

diff --git a/configs/raspberrypi_defconfig b/configs/raspberrypi_defconfig
index af702a3..2d47058 100644
--- a/configs/raspberrypi_defconfig
+++ b/configs/raspberrypi_defconfig
@@ -1,5 +1,6 @@ 
 BR2_arm=y
 BR2_arm1176jzf_s=y
+BR2_ARM_EABIHF=y
 
 BR2_TARGET_GENERIC_GETTY_PORT="tty1"