This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [x86]: Allow @GOTOFF in non-memory context?
- From: Kai Tietz <ktietz70 at googlemail dot com>
- To: Uros Bizjak <ubizjak at gmail dot com>
- Cc: GCC Development <gcc at gcc dot gnu dot org>, Jakub Jelinek <jakub at redhat dot com>, "H.J. Lu" <hjl dot tools at gmail dot com>, Rainer Orth <ro at cebitec dot uni-bielefeld dot de>, IainS <developer at sandoe-acoustics dot co dot uk>
- Date: Thu, 3 Jun 2010 14:27:44 +0200
- Subject: Re: [x86]: Allow @GOTOFF in non-memory context?
- References: <AANLkTinjwofdJ1RIH1YsvpAUsTYbY7mOnxmqrooxDGCO@mail.gmail.com>
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