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" 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 yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto