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

From: H. Nikolaus Schaller
Date: Wed Sep 30 2015 - 13:48:15 EST



Am 30.09.2015 um 19:37 schrieb Nathan Lynch <Nathan_Lynch@xxxxxxxxxx>:

> On 09/30/2015 11:17 AM, Ard Biesheuvel wrote:
>> On 30 September 2015 at 18:13, H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> wrote:
>>>
>>> Am 30.09.2015 um 18:02 schrieb Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>:
>>>>
>>>> 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--
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/