On 5/22/23 02:10, Heinrich Schuchardt wrote:

Hi Heinrich,

.dynamic should be aligned. Structure Elf64_Dyn requires at least 8 byte
alignment.

As best as I can tell, linkers (certainly lld[1], apparently also GNU ld judging by its default linker scripts) themselves set the proper word alignment on the .dynamic section that they synthesize for their internal input object. That alignment requirement bubbles up to the output section, so explicit alignment here should not be necessary.

The symbol _etext below should be 512 aligned as in
arch/arm/lib/crt0_aarch64_efi.S we have set FileAlignment = 0x200.

Ah, that definitely needs to be fixed since the .rela.* sections might not have the 512 alignment. I've updated my local branch, though this also needs to be addressed in the current master branch.

Cheers,
Sam

[1]: https://github.com/llvm/llvm-project/blob/acce2a315945e386a7be6f014ebe90c2a28f38d9/lld/ELF/SyntheticSections.cpp#L1246

Reply via email to