[PATCH] ARM: fix vdsomunge depends on glibc specific byteswap.h

H. Nikolaus Schaller hns at goldelico.com
Wed Sep 30 10:47:39 PDT 2015


Am 30.09.2015 um 19:37 schrieb Nathan Lynch <Nathan_Lynch at mentor.com>:

> On 09/30/2015 11:17 AM, Ard Biesheuvel wrote:
>> On 30 September 2015 at 18:13, H. Nikolaus Schaller <hns at goldelico.com> wrote:
>>> 
>>> Am 30.09.2015 um 18:02 schrieb Ard Biesheuvel <ard.biesheuvel at linaro.org>:
>>>> 
>>>> Have you tried this?
>>>> 
>>>> #define bswap_16 __builtin_bswap16
>>>> #define bswap_32 __builtin_bswap32
>>>> #define bswap_64 __builtin_bswap64
>>>> 
>>>> https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html
>>> 
>>> OS X host uses llvm and I am not sure if these builtins are
>>> always available.
>>> 
>> 
>> I am pretty sure recent clang supports these as well. Could you please try it?
> 
> Well, I think GCC did not provide __builtin_bswap16 consistently until
> the 4.8 release:
> 
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52624
> 
> That seems too recent to me.

Same for me.

> 
> vdsomunge makes only three or four potentially byteswapped accesses to
> the ELF header.  It's not worth a lot of effort to try to use the most
> optimal implementation available.

Especially as it does not run on the target device but the build host.

>  Why not just use a generic
> implementation like is found in mips' elf2ecoff?

Do you have a reference?
I can't find byte swapping in

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/mips/boot/elf2ecoff.c?id=refs/tags/v4.3-rc3

BR and thanks,
Nikolaus Schaller


More information about the linux-arm-kernel mailing list