On 09/30/2015 11:17 AM, Ard Biesheuvel wrote: > On 30 September 2015 at 18:13, H. Nikolaus Schaller <[email protected]> > wrote: >> >> Am 30.09.2015 um 18:02 schrieb Ard Biesheuvel <[email protected]>: >>> >>> 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? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

