From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932572AbbJNOSL (ORCPT ); Wed, 14 Oct 2015 10:18:11 -0400 Received: from relay1.mentorg.com ([192.94.38.131]:43471 "EHLO relay1.mentorg.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753870AbbJNOSH (ORCPT ); Wed, 14 Oct 2015 10:18:07 -0400 Subject: Re: [PATCH v2] ARM: fix vdsomunge not to depend on glibc specific byteswap.h To: "H. Nikolaus Schaller" References: <2039A9BE-ADA4-4D28-84F4-C8B9D76834AD@goldelico.com> <5B19AAFC-976C-4B33-A83E-229693FA7858@goldelico.com> CC: Szabolcs Nagy , Russell King , Will Deacon , , , From: Nathan Lynch Message-ID: <561E63C9.3040702@mentor.com> Date: Wed, 14 Oct 2015 09:16:41 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <5B19AAFC-976C-4B33-A83E-229693FA7858@goldelico.com> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/14/2015 07:47 AM, H. Nikolaus Schaller wrote: >> diff --git a/arch/arm/vdso/vdsomunge.c b/arch/arm/vdso/vdsomunge.c >> index aedec81..27a9a0b 100644 >> --- a/arch/arm/vdso/vdsomunge.c >> +++ b/arch/arm/vdso/vdsomunge.c >> @@ -45,7 +45,18 @@ >> * it does. >> */ >> >> -#include >> +#define swab16(x) \ >> + ((unsigned short)( \ >> + (((unsigned short)(x) & (unsigned short)0x00ffU) << 8) | \ >> + (((unsigned short)(x) & (unsigned short)0xff00U) >> 8) )) >> + >> +#define swab32(x) \ >> + ((unsigned int)( \ >> + (((unsigned int)(x) & (unsigned int)0x000000ffUL) << 24) | \ >> + (((unsigned int)(x) & (unsigned int)0x0000ff00UL) << 8) | \ >> + (((unsigned int)(x) & (unsigned int)0x00ff0000UL) >> 8) | \ >> + (((unsigned int)(x) & (unsigned int)0xff000000UL) >> 24) )) >> + >> #include >> #include >> #include >> @@ -104,17 +115,17 @@ static void cleanup(void) >> >> static Elf32_Word read_elf_word(Elf32_Word word, bool swap) >> { >> - return swap ? bswap_32(word) : word; >> + return swap ? swab32(word) : word; >> } >> >> static Elf32_Half read_elf_half(Elf32_Half half, bool swap) >> { >> - return swap ? bswap_16(half) : half; >> + return swap ? swab16(half) : half; >> } >> >> static void write_elf_word(Elf32_Word val, Elf32_Word *dst, bool swap) >> { >> - *dst = swap ? bswap_32(val) : val; >> + *dst = swap ? swab32(val) : val; >> } > ping. Sorry for the delay. This is okay but I'd prefer the swab macros to be below the #include lines, and it would be easier for me to deal with a patch that isn't whitespace-damaged.