On 14/10/11 19:31, Ben Gamari wrote: > On Fri, 14 Oct 2011 18:38:26 +0100, Richard Earnshaw <rearn...@arm.com> 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) 2.21.0.20110327 > > > 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. R.