This is the mail archive of the 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: [BUG?] GCC 4.5.2 produces deprecated ARM relocation

On 14/10/11 19:31, Ben Gamari wrote:
> On Fri, 14 Oct 2011 18:38:26 +0100, Richard Earnshaw <> wrote:
>> 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.
> Fair enough. I suppose that makes more sense.
> $ as -v
> GNU assembler version 2.21.0 (arm-linux-gnueabi) using BFD version (GNU Binutils for Ubuntu)
> Seems that this is the latest stable release.

You need to take that up with the binutils folks, they don't generally
hang out on this list.


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