This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [x86]: Allow @GOTOFF in non-memory context?


2010/6/3 Uros Bizjak <ubizjak@gmail.com>:
> 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.
>

Please make sure this want make troubles for x64 target. COFF doesn't
support this.

Kai

-- 
|  (\_/) This is Bunny. Copy and paste
| (='.'=) Bunny into your signature to help
| (")_(") him gain world domination


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]