From 707ea62774f5580b39adb488c590c825ec93c718 Mon Sep 17 00:00:00 2001 From: neel Date: Wed, 11 Aug 2010 02:28:39 +0000 Subject: [PATCH] Add parentheses around the argument 'x' used in the __bswapXX(x) macros. Revert r211130 in favor of this more general fix. This fixes a compilation error for mips 64-bit little endian build. libexec/rtld-elf/mips/reloc.c:196: warning: right shift count >= width of type Suggested by: stefanf, jchandra, bde --- libexec/rtld-elf/mips/reloc.c | 2 +- sys/mips/include/endian.h | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/libexec/rtld-elf/mips/reloc.c b/libexec/rtld-elf/mips/reloc.c index 15a0e3735613..0195df62502b 100644 --- a/libexec/rtld-elf/mips/reloc.c +++ b/libexec/rtld-elf/mips/reloc.c @@ -83,7 +83,7 @@ void _rtld_relocate_nonplt_self(Elf_Dyn *, Elf_Addr); #undef ELF_R_SYM #undef ELF_R_TYPE #define ELF_R_SYM(r_info) ((r_info) & 0xffffffff) -#define ELF_R_TYPE(r_info) bswap32(((r_info) >> 32)) +#define ELF_R_TYPE(r_info) bswap32((r_info) >> 32) #endif #else #define ELF_R_NXTTYPE_64_P(r_type) (0) diff --git a/sys/mips/include/endian.h b/sys/mips/include/endian.h index b43b1e9bf6da..ead6dc40bb8e 100644 --- a/sys/mips/include/endian.h +++ b/sys/mips/include/endian.h @@ -108,12 +108,12 @@ __bswap64_var(__uint64_t _x) ((_x << 40) & ((__uint64_t)0xff << 48)) | ((_x << 56))); } -#define __bswap16(x) (__uint16_t)(__is_constant(x) ? \ - __bswap16_const((__uint16_t)x) : __bswap16_var((__uint16_t)x)) -#define __bswap32(x) (__uint32_t)(__is_constant(x) ? \ - __bswap32_const((__uint32_t)x) : __bswap32_var((__uint32_t)x)) -#define __bswap64(x) (__uint64_t)(__is_constant(x) ? \ - __bswap64_const((__uint64_t)x) : __bswap64_var((__uint64_t)x)) +#define __bswap16(x) ((__uint16_t)(__is_constant((x)) ? \ + __bswap16_const((__uint16_t)(x)) : __bswap16_var((__uint16_t)(x)))) +#define __bswap32(x) ((__uint32_t)(__is_constant((x)) ? \ + __bswap32_const((__uint32_t)(x)) : __bswap32_var((__uint32_t)(x)))) +#define __bswap64(x) ((__uint64_t)(__is_constant((x)) ? \ + __bswap64_const((__uint64_t)(x)) : __bswap64_var((__uint64_t)(x)))) #ifdef __MIPSEB__ #define __htonl(x) ((__uint32_t)(x))