https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63773
--- Comment #32 from Iain Sandoe <iains at gcc dot gnu.org> --- reduced testcase: .text .align 4,0x90 .globl _choose_tmpdir _choose_tmpdir: sbbl $3+_vartmp, %esi ret .space 254 .const .align 2 _vartmp: .byte 47 === It seems that the reloc length is expected to be 1 (which will not, indeed, accommodate the offset). cctools (877.5) using -Q and my local port of GAS both produce; address pcrel length extern type scattered symbolnum/value 00000002 False long n/a VANILLA True 0x00000108