From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23658 invoked by alias); 14 Oct 2011 18:31:32 -0000 Received: (qmail 23642 invoked by uid 22791); 14 Oct 2011 18:31:27 -0000 X-SWARE-Spam-Status: No, hits=-2.7 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW X-Spam-Check-By: sourceware.org Received: from mail-qw0-f47.google.com (HELO mail-qw0-f47.google.com) (209.85.216.47) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 14 Oct 2011 18:31:13 +0000 Received: by qadc1 with SMTP id c1so1249610qad.20 for ; Fri, 14 Oct 2011 11:31:13 -0700 (PDT) Received: by 10.224.203.6 with SMTP id fg6mr8238352qab.19.1318617072945; Fri, 14 Oct 2011 11:31:12 -0700 (PDT) Received: from localhost (physicsnat56.physics.umass.edu. [128.119.50.38]) by mx.google.com with ESMTPS id et6sm12715051qab.4.2011.10.14.11.31.11 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 14 Oct 2011 11:31:11 -0700 (PDT) From: Ben Gamari To: Richard Earnshaw Cc: "gcc\@gcc.gnu.org" Subject: Re: [BUG?] GCC 4.5.2 produces deprecated ARM relocation In-Reply-To: <4E987392.3010806@arm.com> References: <877h47msrc.fsf@gmail.com> <4E987392.3010806@arm.com> User-Agent: Notmuch/0.7-37-g5c3c7f6 (http://notmuchmail.org) Emacs/23.3.1 (x86_64-pc-linux-gnu) Date: Fri, 14 Oct 2011 22:45:00 -0000 Message-ID: <87aa93e87l.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-IsSubscribed: yes Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org X-SW-Source: 2011-10/txt/msg00229.txt.bz2 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) 2.21.0.20110327 Seems that this is the latest stable release. Cheers, - Ben