Re: [RFC] arm: use built-in byte swap function

From: Nicolas Pitre
Date: Wed Feb 20 2013 - 08:36:32 EST


On Wed, 20 Feb 2013, Woodhouse, David wrote:

> On Tue, 2013-02-19 at 22:17 -0500, Nicolas Pitre wrote:
> >
> > > +$(obj)/bswapsdi2.o: $(obj)/../../../../arch/$(SRCARCH)/lib/bswapsdi2.o
> > > + $(call cmd,shipped)
> > > +
> >
> > I don't think you can get away with this. The decompressor code is
> > compiled with -fpic and the main kernel is not. Most toolchains do mark
> > object files with some flags to prevent the link of incompatible objects
> > together (normally pic and non pic objects are not compatible even if in
> > this very simple case that would not matter). Maybe you are able to
> > link zImage successfully simply because no references to __bswap* needed
> > to be resolved and therefore the linker didn't need to search/include
> > that object?
>
> This, and the issue with -Os vs. -O2, make me inclined to suggest that
> we should just provide an asm version of these functions instead of
> using the compiler.

You'll have the same issue wrt the above whether or not the source file
is C or assembly.


Nicolas
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/