[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.2.10.1311120948000.9667@knanqh.ubzr>
Date: Tue, 12 Nov 2013 09:55:09 -0500 (EST)
From: Nicolas Pitre <nicolas.pitre@...aro.org>
To: Måns Rullgård <mans@...sr.com>
cc: Ben Dooks <ben.dooks@...ethink.co.uk>,
Russell King - ARM Linux <linux@....linux.org.uk>,
Stephen Boyd <sboyd@...eaurora.org>,
linux-kernel@...r.kernel.org,
Christopher Covington <cov@...eaurora.org>,
Jean-Christophe PLAGNIOL-VILLARD <plagnioj@...osoft.com>,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH v2] ARM: Use udiv/sdiv for __aeabi_{u}idiv library
functions
On Tue, 12 Nov 2013, Måns Rullgård wrote:
> Nicolas Pitre <nicolas.pitre@...aro.org> writes:
>
> > On Tue, 12 Nov 2013, Ben Dooks wrote:
> >
> >> Given these are single instructoins for ARM, is it possible we could
> >> make a table of all the callers and fix them up when we initialise
> >> as we do for the SMP/UP case and for page-offset?
> >
> > Not really. Calls to those functions are generated by the compiler
> > implicitly when a divisor operand is used and therefore we cannot
> > annotate those calls. We'd have to use special accessors everywhere to
> > replace the standard division operand (like we do for 64 by 32 bit
> > divisions) but I doubt that people would accept that.
>
> It might be possible to extract this information from relocation tables.
True, but only for individual .o files. Once the linker puts them
together the information is lost, and trying to infer what the linker
has done is insane.
Filtering the compiler output to annotate idiv calls before it is
assembled would probably be a better solution.
Is it worth it? I'm not sure.
Nicolas
Powered by blists - more mailing lists