https://sourceware.org/bugzilla/show_bug.cgi?id=31924
--- Comment #9 from Szabolcs Nagy <nsz at gcc dot gnu.org> --- it seems arm64 linux passes --no-apply-dynamic-relocs which means the relative reloc addend is not stored to the referenced location (0 is stored) and since -z pack-relative-relocs does not have the addend stored elsewhere, the linux self-relocation code can't work. so either linux is wrong for passing --no-apply-dynamic-relocs -z pack-relative-relocs together or ld should ignore --no-apply-dynamic-relocs in this case. i think linux is wrong here. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/Makefile#n15 if i edit that out then i get a bootable Image. -- You are receiving this mail because: You are on the CC list for the bug.