When updating from binutils 2.23 to 2.25, we have run into "truncated to fit: R_X86_64_PC32 against symbol" errors for symbols that only have R_X86_64_GOTPCREL relocations. One of the object files that is being linked contains a handful of large arrays that end up being placed more than 2GB away from the text that references them, hence the use of R_X86_64_GOTPCREL relocations rather than "simpler" relocations with offset limitations. It looks like the linker is automatically converting these back to a relocation with stricter distance limits due to mod 80d873266deca488bd8059e32780e8ce3ef6191d (Convert mov to lea for loading local function address). Are we misusing R_X86_64_GOTPCREL or is this an ld bug?
Steven Vormwald _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils