Hi Ard,
2016-07-11 12:09 GMT+02:00 Ard Biesheuvel ard.biesheuvel@linaro.org:
On 11 July 2016 at 12:02, Marcin Wojtas mw@semihalf.com wrote:
Hi Ard,
Thank you for pointing the patch!
I checked gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu compiler and indeed -fno-asynchronous-unwind-tables are enough to compile succesfully. Marvell gcc still has GenFW problems though: http://pastebin.com/KyYKj00D
Could you also pastebin the output of
readelf -a /home/mw/git/edk2/Build/Armada70x0/RELEASE_GCC49/AARCH64/ArmPlatformPkg/PrePi/PeiMPCore/DEBUG/ArmPlatformPrePiMPCore.dll
Readelf output is too big for pastebin, so I attach it.
and the contents of
/home/mw/git/edk2/Build/Armada70x0/RELEASE_GCC49/AARCH64/ArmPlatformPkg/PrePi/PeiMPCore/DEBUG/ArmPlatformPrePiMPCore.map
Indeed. the ELF to PE/COFF conversion is a horrible hack, and quite a lot of effort goes into keeping it working with the various code models that GCC provides for AArch64. Adding vendor builds to the mix is going to make this even more complicated so I don't intend to dig too deep here. But I'd still like to understand what is going on.
Any reason you need to use the Marvell build rather than e.g., a Linaro build or distro build?
I guess it is a wish of Marvell to compile all their stuff (u-boot, linux, atf, buildroot, edk2...) with their common toolchain.
Best regards, Marcin