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

From: [email-masked] (Ben Dooks)
Date: Fri, 30 Aug 2013 19:55:26 +0100

On 28/08/13 17:38, Dave Martin wrote:
> 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.

Don't think so, although we could do this if needed. I would like to
get this series merged and then think about updates.

> 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.

I've not tried BE32 binaries on BE8 kernels, although it would
probably produce an undefined instruction quite quickly.

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

think so.

> Any thoughts?
>
>
> For this patch though:
>
> Reviewed-by: Dave Martin<[email-masked]>
>
> Cheers
> ---Dave
>
>> Signed-off-by: Ben Dooks<[email-masked]>
>> ---
>>   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

-- 
Ben Dooks				http://www.codethink.co.uk/
Senior Engineer				Codethink - Providing Genius