[PATCH 14/19] ARM: set --be8 when linking modules

Dave Martin Dave.Martin at arm.com
Wed Aug 28 12:38:52 EDT 2013


On Tue, Aug 27, 2013 at 10:38:24PM +0100, Ben Dooks wrote:
> To avoid having to make every text section swap the instruction order
> of all instructions, make sure modules are built also built with --be8
> (as is the current kernel final link).
> 
> If we do not do this, we would end up having to swap all instructions
> when loading a module, instead of just the instructions that we are
> applying ELF relocations to.

Someone on one of the previous threads asked about whether we need
module vermagic for BE8.

I'm a bit hazy on whether this is needed.  The interesting scenario
would be if someone tried to load a BE32 module into a BE8 kernel
or vice versa.

Currently the kernel does not seem to check ELF endianness at all
either for modules or userspace binaries -- they load get loaded/
fixed up/executed just is if they were native endianness.

So BE8 doesn't add any new brokenness here.  Fixing all that stuff
falls outside the scope of this series.

Any thoughts?


For this patch though:

Reviewed-by: Dave Martin <Dave.Martin at arm.com>

Cheers
---Dave

> Signed-off-by: Ben Dooks <ben.dooks at codethink.co.uk>
> ---
>  arch/arm/Makefile |    1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/arm/Makefile b/arch/arm/Makefile
> index 6fd2cea..2c659f9 100644
> --- a/arch/arm/Makefile
> +++ b/arch/arm/Makefile
> @@ -16,6 +16,7 @@ LDFLAGS		:=
>  LDFLAGS_vmlinux	:=-p --no-undefined -X
>  ifeq ($(CONFIG_CPU_ENDIAN_BE8),y)
>  LDFLAGS_vmlinux	+= --be8
> +LDFLAGS_MODULE	+= --be8
>  endif
>  
>  OBJCOPYFLAGS	:=-O binary -R .comment -S
> -- 
> 1.7.10.4
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel



More information about the linux-arm-kernel mailing list