From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932510AbbJOFwt (ORCPT ); Thu, 15 Oct 2015 01:52:49 -0400 Received: from mo4-p00-ob.smtp.rzone.de ([81.169.146.160]:64562 "EHLO mo4-p00-ob.smtp.rzone.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932079AbbJOFws (ORCPT ); Thu, 15 Oct 2015 01:52:48 -0400 X-RZG-AUTH: :JGIXVUS7cutRB/49FwqZ7WcKdUCnXG6JabOfSXKWrat9htPvz+GM X-RZG-CLASS-ID: mo00 Content-Type: text/plain; charset=windows-1252 Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\)) Subject: Re: [PATCH v2] ARM: fix vdsomunge not to depend on glibc specific byteswap.h From: "H. Nikolaus Schaller" In-Reply-To: <561E63C9.3040702@mentor.com> Date: Thu, 15 Oct 2015 07:52:38 +0200 Cc: Szabolcs Nagy , Russell King , Will Deacon , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, marek@goldelico.com Content-Transfer-Encoding: 7bit Message-Id: <350DE2A3-622F-4624-8AFC-D0F37CCB29EA@goldelico.com> References: <2039A9BE-ADA4-4D28-84F4-C8B9D76834AD@goldelico.com> <5B19AAFC-976C-4B33-A83E-229693FA7858@goldelico.com> <561E63C9.3040702@mentor.com> To: Nathan Lynch X-Mailer: Apple Mail (2.1878.6) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Am 14.10.2015 um 16:16 schrieb Nathan Lynch : > 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, Ok. > and it would be easier for me to deal with a patch that isn't > whitespace-damaged. You mean: ERROR: space prohibited before that close parenthesis ')' #46: FILE: arch/arm/vdso/vdsomunge.c:64: + (((unsigned short)(x) & (unsigned short)0xff00U) >> 8) )) ERROR: space prohibited before that close parenthesis ')' #53: FILE: arch/arm/vdso/vdsomunge.c:71: + (((unsigned int)(x) & (unsigned int)0xff000000UL) >> 24) )) Well, I had copied that verbatim from arch/mips/boot/elf2ecoff.c and thought that it is better readable, but it is easy to fix. V3 is coming. BR and thanks, Nikolaus From mboxrd@z Thu Jan 1 00:00:00 1970 From: hns@goldelico.com (H. Nikolaus Schaller) Date: Thu, 15 Oct 2015 07:52:38 +0200 Subject: [PATCH v2] ARM: fix vdsomunge not to depend on glibc specific byteswap.h In-Reply-To: <561E63C9.3040702@mentor.com> References: <2039A9BE-ADA4-4D28-84F4-C8B9D76834AD@goldelico.com> <5B19AAFC-976C-4B33-A83E-229693FA7858@goldelico.com> <561E63C9.3040702@mentor.com> Message-ID: <350DE2A3-622F-4624-8AFC-D0F37CCB29EA@goldelico.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Am 14.10.2015 um 16:16 schrieb Nathan Lynch : > 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, Ok. > and it would be easier for me to deal with a patch that isn't > whitespace-damaged. You mean: ERROR: space prohibited before that close parenthesis ')' #46: FILE: arch/arm/vdso/vdsomunge.c:64: + (((unsigned short)(x) & (unsigned short)0xff00U) >> 8) )) ERROR: space prohibited before that close parenthesis ')' #53: FILE: arch/arm/vdso/vdsomunge.c:71: + (((unsigned int)(x) & (unsigned int)0xff000000UL) >> 24) )) Well, I had copied that verbatim from arch/mips/boot/elf2ecoff.c and thought that it is better readable, but it is easy to fix. V3 is coming. BR and thanks, Nikolaus