@meowray@hachyderm.io I'm not sure that "Recommendation for future architectures" is entirely correct.
Let's say I have two instructions, one that's some kind of "jump and set return address", and a similar one that doesn't set the return address (otherwise identical layout for the pc-relative operand). Yes, the one that sets the return address is allowed to use the PLT (but doesn't have to), so a CALL relocation is reasonable for this instruction, and for tail calls that use the instruction that doesn't set the return address.
BUT this doesn't address that you can use the non-return-address-setting instruction for jumps within a function, where the PLT-clobbered registers may still be live. So you still end up with two relocations (a Call relocation and a Jump relocation) that are very similar, just the call relocation is allowed to use the PLT if it feels like it, and the Jump is not.