Hi Alexander, > Just to be sure the issue is analyzed properly: if it's certain that this > usage > is not allowed, shouldn't the linker produce a diagnostic instead of silently > concealing the issue?
The ABI doesn't require this but yes a linker could report a warning if the addend of a function symbol has bit 0 set. > With Gold linker this is handled correctly. So it looks to me like a > bug in BFD linker, where it ignores any addend (not just +1/-1) when > resolving a relocation against a Thumb function. If the Gold linker doesn't fail that means Gold has a serious bug in the way it handles Thumb relocations. Can you elaborate, does it do S+A+1 rather than (S+A) | 1 as the ARM-ELF spec requires? Cheers, Wilco