* "armv6" override not used
@ 2009-01-14 2:17 Robert Schuster
2009-01-14 7:07 ` Koen Kooi
2009-01-14 14:41 ` Koen Kooi
0 siblings, 2 replies; 8+ messages in thread
From: Robert Schuster @ 2009-01-14 2:17 UTC (permalink / raw)
To: openembedded-devel
[-- Attachment #1: Type: text/plain, Size: 1023 bytes --]
Hi,
I am building chinook-compat for the n800 when it comes to libffi the
successful build depends on this line:
TARGET_CC_ARCH_append_armv6 =3D " -D__SOFTFP__"
However the build fails because __SOFTFP__ isn't defined and bitbake -i
reveals:
BB>> peek libffi-2.0+gcc4.3.2 TARGET_CC_ARCH
SHELL: This command needs to parse bbfiles...
NOTE: Handling BitBake files: - (6521/6521) [100 %]
NOTE: Parsing finished. 0 cached, 6238 parsed, 283 skipped, 0 masked.
-march=3Darmv6j -mtune=3Darm1136jf-s -mfpu=3Dvfp -mfloat-abi=3Dsoftfp
-mno-thumb-interwork -mno-thumb
BB>>
It looks like something is wrong with the OVERRIDES variable. It has
this value:
local:nokia800:chinook-compat:linux-gnueabi:arm:build-linux:fail-fast:pn-=
libffi
Checking the same variable in an Angstrom build for the BeagleBoard
(armv7a - needs the same hack) it looks like this:
local:beagleboard:angstrom:linux-gnueabi:arm:build-linux:fail-fast:pn-lib=
ffi:armv7a
Something went wrong, but what?
Regards
Robert
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 268 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: "armv6" override not used
2009-01-14 2:17 "armv6" override not used Robert Schuster
@ 2009-01-14 7:07 ` Koen Kooi
2009-01-14 10:57 ` Robert Schuster
2009-01-14 14:41 ` Koen Kooi
1 sibling, 1 reply; 8+ messages in thread
From: Koen Kooi @ 2009-01-14 7:07 UTC (permalink / raw)
To: openembedded-devel
On 14-01-09 03:17, Robert Schuster wrote:
> Hi,
> I am building chinook-compat for the n800 when it comes to libffi the
> successful build depends on this line:
>
> TARGET_CC_ARCH_append_armv6 =3D " -D__SOFTFP__"
>
> However the build fails because __SOFTFP__ isn't defined and bitbake -i
> reveals:
>
> BB>> peek libffi-2.0+gcc4.3.2 TARGET_CC_ARCH
> SHELL: This command needs to parse bbfiles...
> NOTE: Handling BitBake files: - (6521/6521) [100 %]
> NOTE: Parsing finished. 0 cached, 6238 parsed, 283 skipped, 0 masked.
>
> -march=3Darmv6j -mtune=3Darm1136jf-s -mfpu=3Dvfp -mfloat-abi=3Dsoftfp
> -mno-thumb-interwork -mno-thumb
> BB>>
>
> It looks like something is wrong with the OVERRIDES variable. It has
> this value:
>
> local:nokia800:chinook-compat:linux-gnueabi:arm:build-linux:fail-fast:pn-=
> libffi
>
> Checking the same variable in an Angstrom build for the BeagleBoard
> (armv7a - needs the same hack) it looks like this:
>
> local:beagleboard:angstrom:linux-gnueabi:arm:build-linux:fail-fast:pn-lib=
> ffi:armv7a
>
> Something went wrong, but what?
Angstrom defines architecture overrides to make life easier for
developers, other distros don't.
regards,
KOen
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: "armv6" override not used
2009-01-14 7:07 ` Koen Kooi
@ 2009-01-14 10:57 ` Robert Schuster
2009-01-14 11:04 ` Phil Blundell
0 siblings, 1 reply; 8+ messages in thread
From: Robert Schuster @ 2009-01-14 10:57 UTC (permalink / raw)
To: openembedded-devel
[-- Attachment #1: Type: text/plain, Size: 906 bytes --]
Hi,
Koen Kooi schrieb:
>> It looks like something is wrong with the OVERRIDES variable. It has
>> this value:
>>
>> local:nokia800:chinook-compat:linux-gnueabi:arm:build-linux:fail-fast:pn-=
>>
>> libffi
>>
>> Checking the same variable in an Angstrom build for the BeagleBoard
>> (armv7a - needs the same hack) it looks like this:
>>
>> local:beagleboard:angstrom:linux-gnueabi:arm:build-linux:fail-fast:pn-lib=
>>
>> ffi:armv7a
>>
>> Something went wrong, but what?
>
> Angstrom defines architecture overrides to make life easier for
> developers, other distros don't.
I see:
include/angstrom.inc:OVERRIDES .= ":${FEED_ARCH}"
Is that such a controversial feature? I think this should be part of all
distros.
Without this libffi breaks (on armv6 and arm7a) and in the future this
means that stuff like openjdk won't be buildable on these arches. :(
Regards
Robert
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 268 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: "armv6" override not used
2009-01-14 10:57 ` Robert Schuster
@ 2009-01-14 11:04 ` Phil Blundell
2009-01-14 13:51 ` Robert Schuster
0 siblings, 1 reply; 8+ messages in thread
From: Phil Blundell @ 2009-01-14 11:04 UTC (permalink / raw)
To: openembedded-devel
On Wed, 2009-01-14 at 11:57 +0100, Robert Schuster wrote:
> Is that such a controversial feature? I think this should be part of all
> distros.
>
> Without this libffi breaks (on armv6 and arm7a) and in the future this
> means that stuff like openjdk won't be buildable on these arches. :(
Why exactly is this override required? It seems a bit sad that these
packages need to be fed a special "-DMAKE_ME_WORK" flag by some external
intelligence in order to build on newer architectures. Can't they
figure it out for themselves?
p.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: "armv6" override not used
2009-01-14 11:04 ` Phil Blundell
@ 2009-01-14 13:51 ` Robert Schuster
2009-01-14 14:44 ` Phil Blundell
0 siblings, 1 reply; 8+ messages in thread
From: Robert Schuster @ 2009-01-14 13:51 UTC (permalink / raw)
To: openembedded-devel
[-- Attachment #1: Type: text/plain, Size: 829 bytes --]
Hi,
Phil Blundell schrieb:
> On Wed, 2009-01-14 at 11:57 +0100, Robert Schuster wrote:
>> Is that such a controversial feature? I think this should be part of all
>> distros.
>>
>> Without this libffi breaks (on armv6 and arm7a) and in the future this
>> means that stuff like openjdk won't be buildable on these arches. :(
>
> Why exactly is this override required? It seems a bit sad that these
> packages need to be fed a special "-DMAKE_ME_WORK" flag by some external
> intelligence in order to build on newer architectures. Can't they
> figure it out for themselves?
it is related to GCC: Although -mfloat-abi=vfp is given __SOFTFP__ is
not defined and that is required for libffi because otherwise the sysv.S
assembler file uses instructions not available any more on armv6/armv7.
Regards
Robert
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 268 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: "armv6" override not used
2009-01-14 2:17 "armv6" override not used Robert Schuster
2009-01-14 7:07 ` Koen Kooi
@ 2009-01-14 14:41 ` Koen Kooi
1 sibling, 0 replies; 8+ messages in thread
From: Koen Kooi @ 2009-01-14 14:41 UTC (permalink / raw)
To: openembedded-devel
On 14-01-09 03:17, Robert Schuster wrote:
> Hi,
> I am building chinook-compat for the n800 when it comes to libffi the
> successful build depends on this line:
>
> TARGET_CC_ARCH_append_armv6 =3D " -D__SOFTFP__"
FWIW, there's a hard(v)fp branch for gcc 4.4 in svn.
regards,
Koen
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: "armv6" override not used
2009-01-14 13:51 ` Robert Schuster
@ 2009-01-14 14:44 ` Phil Blundell
2009-01-15 4:08 ` Khem Raj
0 siblings, 1 reply; 8+ messages in thread
From: Phil Blundell @ 2009-01-14 14:44 UTC (permalink / raw)
To: openembedded-devel
On Wed, 2009-01-14 at 14:51 +0100, Robert Schuster wrote:
> it is related to GCC: Although -mfloat-abi=vfp is given __SOFTFP__ is
> not defined and that is required for libffi because otherwise the sysv.S
> assembler file uses instructions not available any more on armv6/armv7.
That sounds more like libffi is to blame. Shouldn't it be checking for
(defined(__SOFT_FP__) || defined(__VFP_FP__))? Or, if you really are
using soft-float, then presumably gcc is to blame for not defining
__SOFT_FP__.
Either way, it seems like whichever package is broken should just be
fixed, rather than trying to work around it with architecture-specific
CFLAGS forcing. Assuming that the problem is libffi trying to use FPA
instructions #ifndef __SOFT_FP__, then it will break on ARMv5
architectures as well if you happen to be using VFP.
p.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: "armv6" override not used
2009-01-14 14:44 ` Phil Blundell
@ 2009-01-15 4:08 ` Khem Raj
0 siblings, 0 replies; 8+ messages in thread
From: Khem Raj @ 2009-01-15 4:08 UTC (permalink / raw)
To: openembedded-devel
On (14/01/09 14:44), Phil Blundell wrote:
> On Wed, 2009-01-14 at 14:51 +0100, Robert Schuster wrote:
> > it is related to GCC: Although -mfloat-abi=vfp is given __SOFTFP__ is
> > not defined and that is required for libffi because otherwise the sysv.S
> > assembler file uses instructions not available any more on armv6/armv7.
>
> That sounds more like libffi is to blame. Shouldn't it be checking for
> (defined(__SOFT_FP__) || defined(__VFP_FP__))? Or, if you really are
> using soft-float, then presumably gcc is to blame for not defining
> __SOFT_FP__.
>
> Either way, it seems like whichever package is broken should just be
> fixed, rather than trying to work around it with architecture-specific
> CFLAGS forcing. Assuming that the problem is libffi trying to use FPA
> instructions #ifndef __SOFT_FP__, then it will break on ARMv5
> architectures as well if you happen to be using VFP.
-mfloat-abi=softfp makes sure that the calling conventions used are compatible with soft-float but gcc can generate VFP code if the architecture supports it and thats why __SOFTFP__ is not defined.
GCC only defines __SOFTFP__ when float abi is soft which means there is
no FPU of any sort.
My understanding is that this define means that code is not using FPU of
any sort and is pure soft-fp not only the calling convention.
by default -mfloat-abi is soft.
You should check the code in question weather it really needs to be soft
float. If thats the case then either you should use -mfloat-abi=soft for
this file.
Thx
-Khem
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2009-01-15 4:15 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-14 2:17 "armv6" override not used Robert Schuster
2009-01-14 7:07 ` Koen Kooi
2009-01-14 10:57 ` Robert Schuster
2009-01-14 11:04 ` Phil Blundell
2009-01-14 13:51 ` Robert Schuster
2009-01-14 14:44 ` Phil Blundell
2009-01-15 4:08 ` Khem Raj
2009-01-14 14:41 ` Koen Kooi
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.