Re: [PATCH 4/6] Add support for LZO-compressed kernels for ARM

Albin Tonnerre
2009-08-07T13:01:43Z

On Fri, Aug 07, 2009 at 01:50:03PM +0200, Matthieu CASTET wrote :
> Albin Tonnerre a écrit :
> > On Fri, Aug 07, 2009 at 11:36:56AM +0200, Alain Knaff wrote :
> >> On 08/07/09 11:24, Albin Tonnerre wrote:

> >>> Regards,

> >> Could it be that the patches that remove division (zutil.h and inflate.c)
> >> have somehow not been applied?

> > Indeed, they've not been applied. However, I'd rather try to understand why
> > exactly this is an issue when compiling with -Os and not -O2 instead of working
> > around it by removing the divisions.

> Look at the generated code.

> Arm doesn't have division instruction.
> May be at -Os gcc emit a call to the software division, but at -O2 it
> manage to optimise the division (transform it in shift, inline some
> builtin, ...).

Yes, I figured that out. What I don't get, though, is that it fails while the
software division symbol (__aeabi_uidivmod here) does seem to be provided by
libgcc.

Regards,
--
Albin Tonnerre, Free Electrons
Kernel, drivers and embedded Linux development,
consulting, training and support.