From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11664 invoked by alias); 10 Feb 2005 10:59:27 -0000 Mailing-List: contact binutils-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sources.redhat.com Received: (qmail 11334 invoked from network); 10 Feb 2005 10:59:12 -0000 Received: from unknown (HELO cam-admin0.cambridge.arm.com) (193.131.176.58) by sourceware.org with SMTP; 10 Feb 2005 10:59:12 -0000 Received: from pc960.cambridge.arm.com (pc960.cambridge.arm.com [10.1.205.4]) by cam-admin0.cambridge.arm.com (8.12.10/8.12.10) with ESMTP id j1AAsA4m019139; Thu, 10 Feb 2005 10:54:10 GMT Received: from pc960.cambridge.arm.com (localhost.localdomain [127.0.0.1]) by pc960.cambridge.arm.com (8.12.8/8.12.8) with ESMTP id j1AAtPrg006350; Thu, 10 Feb 2005 10:55:26 GMT Received: (from rearnsha@localhost) by pc960.cambridge.arm.com (8.12.8/8.12.8/Submit) id j1AAtPM5006348; Thu, 10 Feb 2005 10:55:25 GMT X-Authentication-Warning: pc960.cambridge.arm.com: rearnsha set sender to rearnsha@gcc.gnu.org using -f Subject: Re: [patch] SymbianOS Arm executables From: Richard Earnshaw To: Paul Brook Cc: binutils@sources.redhat.com In-Reply-To: <200502092035.43426.paul@codesourcery.com> References: <200502092035.43426.paul@codesourcery.com> Content-Type: text/plain Content-Transfer-Encoding: 7bit Organization: GNU Message-Id: <1108032923.4376.28.camel@pc960.cambridge.arm.com> Mime-Version: 1.0 Date: Thu, 10 Feb 2005 15:58:00 -0000 X-SW-Source: 2005-02/txt/msg00199.txt.bz2 On Wed, 2005-02-09 at 20:35, Paul Brook wrote: > arm-*-symbianelf executables are relocatable. This has a few implications: > > - We need to write out absolute relocations, like we do with shared libraries. > - These need to be against a symbols because the RO and RW segments are > relocated independently. In most cases we use the section symbol. > - Imported data is addressed directly (with absolute relocations). > > Most of the changes are arm-specific, however I did need to add a new > common-code flag to allow creation of the local dynamic symbols. > > Tested on i686-linux, arm-none-eabi and arm-none-symbianelf. > Ok? > > Paul > > This depends on a previous patch for correct symbol ordering: > http://sourceware.org/ml/binutils/2005-02/msg00169.html I'm uncomfortable about the way globals->symbian_p is getting scattered throughout the entire linking process. I think we really need to try and distill that variable into the effects it has on linking (this would then make porting the linker to platforms with similar properties much less painful). In this case you've already identified the abstract property: the executable is relocated at link time. Most of your used of ->symbian_p should therefore be ->exec_reloc_p. There should then be exactly one place where symbian_p is tested, and that is then used to set the exec_reloc_p property. R.