From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10115 invoked by alias); 19 Mar 2002 14:36:08 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 10050 invoked by uid 71); 19 Mar 2002 14:36:03 -0000 Date: Tue, 19 Mar 2002 06:36:00 -0000 Message-ID: <20020319143603.10047.qmail@sources.redhat.com> To: pb@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Philip Blundell Subject: Re: target/3925: [ARM/Thumb] Assembler chokes on branches with (PLT) Reply-To: Philip Blundell X-SW-Source: 2002-03/txt/msg00712.txt.bz2 List-Id: The following reply was made to PR target/3925; it has been noted by GNATS. From: Philip Blundell To: Richard.Earnshaw@arm.com Cc: gcc-gnats@gcc.gnu.org, pb@gcc.gnu.org, fnf@ninemoons.com, gcc-bugs@gcc.gnu.org, rearnsha@gcc.gnu.org Subject: Re: target/3925: [ARM/Thumb] Assembler chokes on branches with (PLT) Date: 19 Mar 2002 14:32:39 +0000 On Tue, 2002-03-19 at 11:55, Richard Earnshaw wrote: > OK, so that clears up that side of the problem. Now, what about the issue > that PLT32 and ARM24 aren't really different relocs? Well, that depends on your point of view. Obviously they are the same in terms of the fundamental bit operations that they perform on the instruction. But the PLT32 reloc has some extra semantics stacked on top: if the symbol isn't known to be local, it generates a plt entry and redirects the branch through it. You could more or less dispose of the issue by adding an option to the linker to say you wanted to generate a PIC executable. If that was set, you would treat all PC24 relocs like PLT32s are now; if not, you would treat them as straight PC24. I think the situation where someone is deliberately mixing PIC and PDC objects in order to get a hybrid output file is rare enough that it can be neglected. On the other hand, people are accustomed to controlling this with -fPIC at the compilation stage, and changing it to be a linker option might turn out to be a nightmare. p.