> On Nov 4, 2019, at 4:26 PM, Steve Pavao <[email protected]> wrote:
>
>> On Nov 4, 2019, at 11:32 AM, Steve Pavao <[email protected]> wrote:
>>>
>>> On Nov 4, 2019, at 11:16 AM, Steve Pavao <[email protected]> wrote:
>>>>
>>>> On Nov 4, 2019, at 11:11 AM, Adrian Bunk <[email protected]> wrote:
>>>>
>>>> On Mon, Nov 04, 2019 at 10:48:57AM -0500, Steve Pavao wrote:
>>>>>
>>>>>> On Nov 3, 2019, at 1:25 PM, Adrian Bunk <[email protected]> wrote:
>>>>>>
>>>>>> On Sun, Nov 03, 2019 at 05:56:45PM +0000, Andrei Gherzan wrote:
>>>>>>> On 3 November 2019 13:18:53 GMT, Khem Raj <[email protected]> wrote:
>>>>>>>> On Sun, Nov 3, 2019 at 2:46 AM Andrei Gherzan <[email protected]>
>>>>>>>> wrote:
>>>>>>>>> I was thinking about this. The erratum seems to show that this
>>>>>>>> applies
>>>>>>>>> to all revisions of a53. So it sounds like we should add it in
>>>>>>>>> `tune-cortexa53.inc`.
>>>>>>>>>
>>>>>>>>
>>>>>>>> Up to r0b4 only so maybe not all a53 implementations are impacted
>>>>>>>>
>>>>>>>
>>>>>>> As far as I know that is the latest revision. Do you mean that newer
>>>>>>> revision might come up with this fixed?
>>>>>>
>>>>>> It is fixed in some r0p4 implementations, indicated in REVIDR[8].
>>>>>
>>>>> I am closer to understanding why I experience an error when building with
>>>>> the ARM errata switches.
>>>>>
>>>>> I believe it is related to 32-bit app support in my poky Linux 64-bit
>>>>> build (I add this to support vcgencmd and vcdbg 32-bit apps.)
>>>>>
>>>>> When I remove the 32-bit support, the build completes OK. As of now,
>>>>> adding the following seems to work fine to acheive this:
>>>>>
>>>>> TARGET_CC_ARCH_append += " -mfix-cortex-a53-843419
>>>>> -mfix-cortex-a53-835769”
>>>>>
>>>>> Something in the following block seems to be the culprit.:
>>>>>
>>>>> # for vcgencmd and vcdbg 32-bit executable support in the OS image
>>>>> (comment out for -c populate_sdk)
>>>>> require conf/multilib.conf
>>>>> MULTILIBS = "multilib:lib32"
>>>>> DEFAULTTUNE_virtclass-multilib-lib32 = "armv7a"
>>>>> IMAGE_INSTALL_append += " vcgencmd lib32-glibc lib32-libgcc
>>>>> lib32-libstdc++ vcdbg rpi-setup \
>>>>> “
>>>>>
>>>>> I will post again when I have localized the build problem further. Maybe
>>>>> there’s some 64-bit vs. 32-bit build confusion going on, and the armv7a
>>>>> default tune switch for 32-bits is colliding with the errata switches.
>>>>
>>>> The errata switches are only valid for aarch64, not for armv7a.
>>>> There is likely some kind of "invalid option" earlier in your build.
>>>
>>> To conitnue to be able to use the 32-bit app support, perhaps I must do
>>> this:
>>>
>>> DEFAULTTUNE_virtclass-multilib-lib32 = “armv7a -mno-fix-cortex-a53-843419
>>> -mno-fix-cortex-a53-835769”
>>
>> This doesn’t work.
>>
>> If I wish to keep the 32-bit app support in my build, I’ll need to devise a
>> way to make sure those ARM errata flags are only applied to the aarch64
>> portion of the compile/link for the target, not to the multilib 32-bit app
>> support portion.
>
> Andrei and/or Khem,
>
> Could you advise an approach that allows to use the ARM errata switches for
> the aarch64 portion of the build for the target, but which will NOT specify
> the ARM errata switches for our supplementary 32-bit portion of the build for
> the target? (This supplementary 32-bit portion of the build is to support
> the 32-bit vcgencmd app, and contains multilib and some additional 32-bit
> libraires. Please see earlier post for the syntax we use in our local.conf.)
I've been able to rebuild 64-bit Linux code with the ARM errata switches, by
adding the following line to the end of
/meta/conf/machine/include/arm/arch-arm64.inc,
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "aarch64", "
-mfix-cortex-a53-843419 -mfix-cortex-a53-835769", "" ,d)}”
Please let me know if you have any thoughts about this approach.
Steve Pavao
Korg R&D
--
_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto