Hello! I'm looking into i386.md, where we have a bunch of instances of following comment:
; Current assemblers are broken and do not allow @GOTOFF in ; ought but a memory context. Code, following this comment disables or special-cases "pic_symbolic_operands". I'm investigating, which "current assemblers" are broken, since my assembler from binutils-2.20 happily assembles: addl x...@gotoff(%ebx), %eax in 32bit mode, as well as addq x...@gotpcrel(%rip), %rax in 64bit mode. Looking into gcc install documentation, the lowest mentioned version is 2.13.1. I have no idea, if this version supports above asm, so I would like to ask someone with access to this ancient version if he can test this instruction. Also of interest is support from sun as and darwin assembler for similar instructions. I guess darwin should check something like: addl L_x$non_lazy_ptr-L00000000001$pb(%ecx), %eax Ultimately, I would like to remove checks involving pic_symbolic_operands, but removing them on 64bit would be OK, too. Thanks, Uros.