[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