This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [BUG?] GCC 4.5.2 produces deprecated ARM relocation
- From: Richard Earnshaw <rearnsha at arm dot com>
- To: Ben Gamari <bgamari dot foss at gmail dot com>
- Cc: "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: Fri, 14 Oct 2011 18:38:26 +0100
- Subject: Re: [BUG?] GCC 4.5.2 produces deprecated ARM relocation
- References: <877h47msrc.fsf@gmail.com>
On 14/10/11 17:40, Ben Gamari wrote:
> I was recently trying to test GCC's behavior in producing various types
> of ARM relocations. In particular, I was trying to produce an
> R_ARM_JUMP24 relocation, which requires veneer. It was suggested that
> the code most likely to produce this relocation would involve some sort
> of tail recursion. I wrote up a small test[1] involving interworking and
> tail recursion to see what the produced object might look like. To my
> surprise, I found that the compiler instead[2] produced the deprecated
> R_ARM_PLT32 relocation. Considering the deprecated state of this
> relocation type, should this be considered a bug? Being a linker
> implementer, I for one would greatly appreciate it if GCC tried to only
> use non-deprecated relocation types. I apologize if this has already
> been fixed upstream.
>
The compiler doesn't produce relocations, but the assembler does. You
need to make sure your binutils is up-to-date.
R.