From: "H. Nikolaus Schaller" <hns@goldelico.com> To: Nathan Lynch <nathan_lynch@mentor.com> Cc: Szabolcs Nagy <szabolcs.nagy@arm.com>, Russell King <rmk+kernel@arm.linux.org.uk>, Will Deacon <will.deacon@arm.com>, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, marek@goldelico.com Subject: Re: [PATCH v2] ARM: fix vdsomunge not to depend on glibc specific byteswap.h Date: Thu, 15 Oct 2015 07:52:38 +0200 [thread overview] Message-ID: <350DE2A3-622F-4624-8AFC-D0F37CCB29EA@goldelico.com> (raw) In-Reply-To: <561E63C9.3040702@mentor.com> Am 14.10.2015 um 16:16 schrieb Nathan Lynch <nathan_lynch@mentor.com>: > 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 <byteswap.h> >>> +#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 <elf.h> >>> #include <errno.h> >>> #include <fcntl.h> >>> @@ -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
WARNING: multiple messages have this Message-ID (diff)
From: hns@goldelico.com (H. Nikolaus Schaller) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH v2] ARM: fix vdsomunge not to depend on glibc specific byteswap.h Date: Thu, 15 Oct 2015 07:52:38 +0200 [thread overview] Message-ID: <350DE2A3-622F-4624-8AFC-D0F37CCB29EA@goldelico.com> (raw) In-Reply-To: <561E63C9.3040702@mentor.com> Am 14.10.2015 um 16:16 schrieb Nathan Lynch <nathan_lynch@mentor.com>: > 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 <byteswap.h> >>> +#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 <elf.h> >>> #include <errno.h> >>> #include <fcntl.h> >>> @@ -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
next prev parent reply other threads:[~2015-10-15 5:52 UTC|newest] Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top [not found] <cover.1443628457.git.hns@goldelico.com> 2015-09-30 15:56 ` [PATCH] ARM: fix vdsomunge depends on glibc specific byteswap.h H. Nikolaus Schaller 2015-09-30 15:56 ` H. Nikolaus Schaller 2015-09-30 16:02 ` Ard Biesheuvel 2015-09-30 16:02 ` Ard Biesheuvel 2015-09-30 16:13 ` H. Nikolaus Schaller 2015-09-30 16:13 ` H. Nikolaus Schaller 2015-09-30 16:17 ` Ard Biesheuvel 2015-09-30 16:17 ` Ard Biesheuvel 2015-09-30 17:25 ` H. Nikolaus Schaller 2015-09-30 17:25 ` H. Nikolaus Schaller 2015-09-30 17:37 ` Nathan Lynch 2015-09-30 17:37 ` Nathan Lynch 2015-09-30 17:47 ` H. Nikolaus Schaller 2015-09-30 17:47 ` H. Nikolaus Schaller 2015-09-30 18:17 ` Nathan Lynch 2015-09-30 18:17 ` Nathan Lynch 2015-09-30 19:08 ` H. Nikolaus Schaller 2015-09-30 19:08 ` H. Nikolaus Schaller [not found] ` <cover.1443791320.git.hns@goldelico.com> 2015-10-02 13:10 ` [PATCH] ARM: fix vdsomunge not to depend " H. Nikolaus Schaller 2015-10-03 8:20 ` H. Nikolaus Schaller 2015-10-03 20:46 ` [PATCH v2] " H. Nikolaus Schaller 2015-10-03 20:46 ` H. Nikolaus Schaller 2015-10-14 12:47 ` H. Nikolaus Schaller 2015-10-14 12:47 ` H. Nikolaus Schaller 2015-10-14 14:16 ` Nathan Lynch 2015-10-14 14:16 ` Nathan Lynch 2015-10-15 5:52 ` H. Nikolaus Schaller [this message] 2015-10-15 5:52 ` H. Nikolaus Schaller 2015-10-15 16:37 ` Russell King - ARM Linux 2015-10-15 16:37 ` Russell King - ARM Linux 2015-10-15 16:52 ` H. Nikolaus Schaller 2015-10-15 16:52 ` H. Nikolaus Schaller 2015-10-15 17:07 ` Nathan Lynch 2015-10-15 17:07 ` Nathan Lynch 2015-10-15 17:16 ` H. Nikolaus Schaller 2015-10-15 17:16 ` H. Nikolaus Schaller 2015-10-15 17:23 ` Nathan Lynch 2015-10-15 17:23 ` Nathan Lynch
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=350DE2A3-622F-4624-8AFC-D0F37CCB29EA@goldelico.com \ --to=hns@goldelico.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=marek@goldelico.com \ --cc=nathan_lynch@mentor.com \ --cc=rmk+kernel@arm.linux.org.uk \ --cc=szabolcs.nagy@arm.com \ --cc=will.deacon@arm.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.