From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10930 invoked by alias); 8 Feb 2005 16:01:08 -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 10885 invoked from network); 8 Feb 2005 16:01:00 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sourceware.org with SMTP; 8 Feb 2005 16:01:00 -0000 Received: from drow by nevyn.them.org with local (Exim 4.44 #1 (Debian)) id 1CyXnQ-0002ef-15; Tue, 08 Feb 2005 11:01:00 -0500 Date: Tue, 08 Feb 2005 18:04:00 -0000 From: Daniel Jacobowitz To: Richard Sandiford Cc: binutils@sources.redhat.com Subject: Re: TLS support for MIPS Message-ID: <20050208160059.GA9847@nevyn.them.org> Mail-Followup-To: Richard Sandiford , binutils@sources.redhat.com References: <20050207230014.GA32655@nevyn.them.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.6+20040907i X-SW-Source: 2005-02/txt/msg00128.txt.bz2 On Tue, Feb 08, 2005 at 09:30:15AM +0000, Richard Sandiford wrote: > Daniel Jacobowitz writes: > > OK? Comments, questions, things I failed to explain? > > Haven't had chance to read the patch in detail yet, but just in case > it gets a quick review, I thought I'd beter respond to one thing > straight away... > > I don't like the way you've overloaded the %hi(%other(...)) syntax > to apply to single relocations. I think it should be reserved for > true composite relocations (i.e. where the output file has both > R_MIPS_HI16 and R_MIPS_OTHER entries). > > We already have separate operators for things like R_MIPS_CALL_HI16 and > R_MIPS_CALL_LO16, namely %call_hi() and %call_lo()[*]. I think it'd be > simpler and more consistent to have %dtpoff_hi() and %dtpoff_lo() > instead. You'd then be able to get rid of hackery like: I cribbed this approach from PowerPC (@tprel@ha) because it seemed eminently sensible. If you'd prefer to use single operators instead, then I guess I can crib from a different architecture instead. > > + /* %dtpoff may only be used immediately inside %hi or %lo, with no > > + other relocations. However, use inside %hi and %lo is valid even > > + with the old ABI which permits only a single relocation. > > + Similarly, %tpoff may be used inside %hi and %lo even with the > > + old ABI, but may also be used on its own. Convert these uses to > > + a single relocation and give an error for other uses. */ > > + for (i = 0; i < reloc_index; i++) > > I really think there should be one operator per relocation. > > On the same topic, it would be nice if the %op() names and R_MIPS_THINGY > names were a bit more consistent. The link between alpha's operator > names and relocation names is much more obvious, for example. OK. At this point I think that means renaming the relocations; I just renamed the operators more sanely recently. Anyone have a preference on the TPREL vs. TPOFF conventions? -- Daniel Jacobowitz CodeSourcery, LLC