I have been trying to compile imx-bootlets for past couple of hours for iMX-233 and very strange thing is happening:
power_prep bootlet is being compiled for v7 architecture while boot_prep is v5te. This is what readelf -a gives:
$readelf -A power_prep/power_prep Attribute Section: aeabi File Attributes Tag_CPU_name: "7-A" Tag_CPU_arch: v7 Tag_CPU_arch_profile: Application Tag_ARM_ISA_use: Yes Tag_THUMB_ISA_use: Thumb-2 Tag_FP_arch: VFPv3-D16 Tag_ABI_PCS_wchar_t: 4 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_enum_size: small Tag_ABI_HardFP_use: SP and DP Tag_ABI_optimization_goals: Prefer Speed Tag_CPU_unaligned_access: v6 Tag_DIV_use: Not allowed $readelf -A boot_prep/boot_prep Attribute Section: aeabi File Attributes Tag_CPU_name: "5TE" Tag_CPU_arch: v5TE Tag_ARM_ISA_use: Yes Tag_THUMB_ISA_use: Thumb-1 Tag_ABI_PCS_wchar_t: 4 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: small Tag_ABI_optimization_goals: Prefer Speed Tag_DIV_use: Not allowed
Now, when I compile sb file ad boot it, it will not work since power_prep is first bootlet and it contains instruction specific to armv7.
I have tried ubuntu/linaro gnueabi, CodeSourcery none-eabi, and gcc 4.7.2 compiled with crosstool-ng for march=armv5t mtune=arm926ej-s, no luck.
However! I did have power_prep and boot_prep compiled using LTIB (I'm using those right now on my board with u-boot) and this is what readelf gives back:
$ readelf -A power_prep/power_prep_v4t Attribute Section: aeabi File Attributes Tag_CPU_name: "ARM9TDMI" Tag_CPU_arch: v4T Tag_ARM_ISA_use: Yes Tag_THUMB_ISA_use: Thumb-1 Tag_ABI_PCS_wchar_t: 4 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_enum_size: int Tag_ABI_optimization_goals: Prefer Speed
Why would power_prep compile for v7, no matter what? I can't see any special switches or flags or whatever in makefiles.
Attached is output from last build, compiler is built for armv5te and arm926ej-s.
Any thoughts?
Original Attachment has been moved to: build.log.zip