[PATCH v2] ARM: Use udiv/sdiv for __aeabi_{u}idiv library functions

Nicolas Pitre nicolas.pitre at linaro.org
Tue Nov 12 09:55:09 EST 2013


On Tue, 12 Nov 2013, Måns Rullgård wrote:

> Nicolas Pitre <nicolas.pitre at linaro.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


More information about the linux-arm-kernel mailing list