This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Thumb32 assembler (63/69)
- From: Richard Earnshaw <rearnsha at gcc dot gnu dot org>
- To: Zack Weinberg <zack at codesourcery dot com>
- Cc: binutils <binutils at sourceware dot org>
- Date: Tue, 26 Apr 2005 17:34:00 +0100
- Subject: Re: Thumb32 assembler (63/69)
- Organization: GNU
- References: <87acnlrh3y.fsf@codesourcery.com>
On Tue, 2005-04-26 at 11:02, Zack Weinberg wrote:
> + /* Extensions? R=read-only? */
> + RELOC_NUMBER (R_ARM_RXPC25, 249)
> + RELOC_NUMBER (R_ARM_RSBREL32, 250)
> + RELOC_NUMBER (R_ARM_THM_RPC22, 251)
> + RELOC_NUMBER (R_ARM_RREL32, 252)
> + RELOC_NUMBER (R_ARM_RABS32, 253)
> + RELOC_NUMBER (R_ARM_RPC24, 254)
> + RELOC_NUMBER (R_ARM_RBASE, 255)
These are all obsolete. IIRC, they were an attempt in the previous ABI
to support a form of dynamic relocation.
> + /* Unofficial names for some of the relocs. */
> + FAKE_RELOC (R_ARM_GOTOFF, R_ARM_GOTOFF32) /* 32 bit offset to GOT. */
> + FAKE_RELOC (R_ARM_THM_PC22, R_ARM_THM_CALL)
> + FAKE_RELOC (R_ARM_THM_PC11, R_ARM_THM_JUMP11)
> + FAKE_RELOC (R_ARM_THM_PC9, R_ARM_THM_JUMP8)
These names are all deprecated (the names used in the old version).
> + /* Relocs with both a different name, and (apparently) different meaning in
> + GNU usage. */
> + FAKE_RELOC (R_ARM_GOTPC, R_ARM_BASE_PREL) /* 32 bit PC relative offset to GOT. */
> + FAKE_RELOC (R_ARM_GOT32, R_ARM_GOT_BREL) /* 32 bit GOT entry. */
> + FAKE_RELOC (R_ARM_ROSEGREL32, R_ARM_SBREL31) /* ??? */
No, the usage should be the same. In some cases they are extended by
permitting a symbol. In the GNU usage the symbol was always NULL.
> + FAKE_RELOC (R_ARM_AMP_VCALL9, R_ARM_BREL_ADJ) /* Thumb-something. Not used. */
This one was obsolete in the previous ABI, it was for a product that
never made it to market.
R.