[RFC] arm: use built-in byte swap function
Nicolas Pitre
nico at fluxnic.net
Wed Feb 20 08:36:25 EST 2013
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
More information about the linux-arm-kernel
mailing list