> On Aug 24, 2016, at 12:51 AM, Ottavio Campana <[email protected]> wrote: > > Hello, > > I am trying to port a third-party BSP based on buildroot to yocto, but I am > not able to tune the compiler to extactly match the original one. > > Particularly, if I run readelf on a binary compiled with the gcc that is used > by buildroot I get this output > > ottavio@ottavio:~$ readelf -A hello_world > Attribute Section: aeabi > File Attributes > Tag_CPU_name: "Cortex-A9" > Tag_CPU_arch: v7 > Tag_CPU_arch_profile: Application > Tag_ARM_ISA_use: Yes > Tag_THUMB_ISA_use: Thumb-2 > Tag_FP_arch: VFPv3 > Tag_Advanced_SIMD_arch: NEONv1 > Tag_ABI_PCS_wchar_t: 4 > Tag_ABI_FP_rounding: Needed > Tag_ABI_FP_denormal: Needed > Tag_ABI_FP_exceptions: Needed > Tag_ABI_FP_number_model: IEEE 754 > Tag_ABI_align_needed: 8-byte > Tag_ABI_align_preserved: 8-byte, except leaf SP > Tag_ABI_enum_size: int > Tag_CPU_unaligned_access: v6 > Tag_MPextension_use: Allowed > Tag_Virtualization_use: TrustZone > ottavio@ottavio:~$ > > I tried to replicate this by configuring a new machine, and my machine > configuration looks like this > > require ../../../meta/conf/machine/include/tune-cortexa9.inc > > AVAILTUNES += "cortexa9t-vfpv3-neon" > ARMPKGARCH_tune-cortexa9t-vfpv3-neon = "cortexa9" > TUNE_FEATURES_tune-cortexa9t-vfpv3-neon = > "${TUNE_FEATURES_tune-armv7at-vfpv3} neon cortexa9" > PACKAGE_EXTRA_ARCHS_tune-cortexa9t-vfpv3-neon = > "${PACKAGE_EXTRA_ARCHS_tune-armv7at-vfpv3} cortexa9-vfp cortexa9-vfpv3 > cortexa9t2-vfp cortexa9t2-vfpv3 cortexa9-neon" > > DEFAULTTUNE = "cortexa9t-vfpv3-neon”
Use DEFAULTTUNE = "cortexa9t-neon" if you want to use hard-float ABI then DEFAULTTUNE = “cortexa9thf-neon" > > If I run readelf on any compiled binary obtained with yocto, I get this > result: > > ottavio@ottavio:~/poky/build-xxx/tmp/work/cortexa9-vfpv3-poky-linux-gnueabi/bzip2/1.0.6-r5/build$ > readelf -A .libs/bzip2 > Attribute Section: aeabi > File Attributes > Tag_CPU_name: "Cortex-A9" > Tag_CPU_arch: v7 > Tag_CPU_arch_profile: Application > Tag_ARM_ISA_use: Yes > Tag_THUMB_ISA_use: Thumb-2 > Tag_FP_arch: VFPv3 > Tag_ABI_PCS_wchar_t: 4 > Tag_ABI_FP_rounding: Needed > Tag_ABI_FP_denormal: Needed > Tag_ABI_FP_exceptions: Needed > Tag_ABI_FP_number_model: IEEE 754 > Tag_ABI_align_needed: 8-byte > Tag_ABI_align_preserved: 8-byte, except leaf SP > Tag_ABI_enum_size: int > Tag_CPU_unaligned_access: v6 > Tag_MPextension_use: Allowed > Tag_Virtualization_use: TrustZone > ottavio@ottavio:~/poky/build-xxx/tmp/work/cortexa9-vfpv3-poky-linux-gnueabi/bzip2/1.0.6-r5/build$ > > I am quite close to get a similar binary, the missing part is the > Tag_Advanced_SIMD_arch: NEONv1 . I get exactly the same result if I use > DEFAULTTUNE = "cortexa9t-vfpv3", thus it seems that the neon and > cortexa9-neon options I tried to add are ignored. > > At this point I have two questions > > Question #1 > > How should I change ARMPKGARCH_tune-cortexa9t-vfpv3-neon , > TUNE_FEATURES_tune-cortexa9t-vfpv3-neon and > PACKAGE_EXTRA_ARCHS_tune-cortexa9t-vfpv3-neon to have exactly the same kind > of elf? > > Question # 2 > > Why the only options for neon in meta/conf/machine/include/tune-cortexa9.inc > are offered for HF tunes? > > > Thank you for your help > > Ottavio > -- > _______________________________________________ > yocto mailing list > [email protected] <mailto:[email protected]> > https://lists.yoctoproject.org/listinfo/yocto > <https://lists.yoctoproject.org/listinfo/yocto>
signature.asc
Description: Message signed with OpenPGP using GPGMail
-- _______________________________________________ yocto mailing list [email protected] https://lists.yoctoproject.org/listinfo/yocto
