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

Nathan Lynch Nathan_Lynch at mentor.com
Wed Sep 30 10:37:20 PDT 2015


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.

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.  Why not just use a generic
implementation like is found in mips' elf2ecoff?




More information about the linux-arm-kernel mailing list