https://sourceware.org/bugzilla/show_bug.cgi?id=22764
Ard Biesheuvel <ard.biesheuvel at linaro dot org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ard.biesheuvel at linaro dot org --- Comment #1 from Ard Biesheuvel <ard.biesheuvel at linaro dot org> --- The arm64 Linux kernel uses absolute ELF symbols to expose various build time constants whose values are only known after linking to the program itself. The size of the loadable image in little endian format (even on BE builds) The memory footprint of the image in LE The offset to and size of the RELA section, relative to the start of the image (on KASLR kernels) 0000000000000000 A _kernel_flags_le_hi32 000000000000000a A _kernel_flags_le_lo32 0000000000000000 A _kernel_offset_le_hi32 0000000000080000 A _kernel_offset_le_lo32 0000000000000000 A _kernel_size_le_hi32 00000000013b5000 A _kernel_size_le_lo32 00000000004afa00 A __pecoff_data_rawsize 000000000051d000 A __pecoff_data_size 0000000000000200 A PECOFF_FILE_ALIGNMENT 0000000000fa3898 A __rela_offset 00000000002e2ab0 A __rela_size The KASLR kernel is a PIE executable, and is no longer allowed to refer to these symbols via R_AARCH64_ABS32 relocations, resulting in the build error reported by Matthias. So please explain how a PIE executable should refer to such absolute ELF symbols if not via R_AARCH64_ABS32 relocations. -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils