From b5facfdac0a9a10f9b0b145d6e3b1348a751f2ff Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 8 Jan 2003 00:22:00 +0000 Subject: Update. 2003-01-06 Philip Blundell * sysdeps/unix/arm/sysdep.S (syscall_error): Optimise a little. [__LIBC_REENTRANT]: Unify PIC and non-PIC cases. * sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO): Remove .type directive. (PSEUDO_RET): Use SYSCALL_ERROR in place of __syscall_error. (SYSCALL_ERROR): New. (SYSCALL_ERROR_HANDLER) [NOT_IN_libc]: Provide local copy of error handling code. (INTERNAL_SYSCALL): Define. (INLINE_SYSCALL): Use it. (INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): Define. * sysdeps/unix/sysv/linux/arm/socket.S (__socket): Use SYSCALL_ERROR in place of __syscall_error. 2003-01-07 Jakub Jelinek * sysdeps/ia64/bits/byteswap.h [__GNUC__ >= 2] (__bswap_16, __bswap_32, __bswap_64): Put x into temporary variable to avoid warnings. [!__GNUC__] (__bswap_16, __bswap_32, __bswap_64): Change into static (inline) functions. * sysdeps/s390/bits/byteswap.h [__GNUC__ >= 2] (__bswap_16, __bswap_32, __bswap_64): Put x into temporary variable to avoid warnings. [!__GNUC__] (__bswap_16, __bswap_32, __bswap_64): Change into static (inline) functions. * sysdeps/i386/bits/byteswap.h [!__GNUC__] (__bswap_16, __bswap_32): Likewise. 2003-01-07 Jakub Jelinek * sysdeps/unix/sysv/linux/alpha/adjtime.c (ntp_adjtime): New weak alias. --- sysdeps/s390/bits/byteswap.h | 50 +++++++++++++++++++++++++++----------------- 1 file changed, 31 insertions(+), 19 deletions(-) (limited to 'sysdeps/s390/bits') diff --git a/sysdeps/s390/bits/byteswap.h b/sysdeps/s390/bits/byteswap.h index 6a4b4ae425..d0e31b8364 100644 --- a/sysdeps/s390/bits/byteswap.h +++ b/sysdeps/s390/bits/byteswap.h @@ -1,5 +1,5 @@ /* Macros to swap the order of bytes in integer values. s390 version. - Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc. Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com). This file is part of the GNU C Library. @@ -35,11 +35,11 @@ # if __WORDSIZE == 64 # define __bswap_16(x) \ (__extension__ \ - ({ unsigned short int __v; \ + ({ unsigned short int __v, __x = (x); \ if (__builtin_constant_p (x)) \ - __v = __bswap_constant_16 (x); \ + __v = __bswap_constant_16 (__x); \ else { \ - unsigned short int __tmp = (unsigned short int) (x); \ + unsigned short int __tmp = (unsigned short int) (__x); \ __asm__ __volatile__ ( \ "lrvh %0,%1" \ : "=&d" (__v) : "m" (__tmp) ); \ @@ -48,11 +48,11 @@ # else # define __bswap_16(x) \ (__extension__ \ - ({ unsigned short int __v; \ + ({ unsigned short int __v, __x = (x); \ if (__builtin_constant_p (x)) \ - __v = __bswap_constant_16 (x); \ + __v = __bswap_constant_16 (__x); \ else { \ - unsigned short int __tmp = (unsigned short int) (x); \ + unsigned short int __tmp = (unsigned short int) (__x); \ __asm__ __volatile__ ( \ "sr %0,%0\n" \ "la 1,%1\n" \ @@ -64,7 +64,11 @@ # endif #else /* This is better than nothing. */ -#define __bswap_16(x) __bswap_constant_16 (x) +static __inline unsigned short int +__bswap_16 (unsigned short int __bsx) +{ + return __bswap_constant_16 (__bsx); +} #endif /* Swap bytes in 32 bit value. */ @@ -76,11 +80,11 @@ # if __WORDSIZE == 64 # define __bswap_32(x) \ (__extension__ \ - ({ unsigned int __v; \ + ({ unsigned int __v, __x = (x); \ if (__builtin_constant_p (x)) \ - __v = __bswap_constant_32 (x); \ + __v = __bswap_constant_32 (__x); \ else { \ - unsigned int __tmp = (unsigned int) (x); \ + unsigned int __tmp = (unsigned int) (__x); \ __asm__ __volatile__ ( \ "lrv %0,%1" \ : "=&d" (__v) : "m" (__tmp)); \ @@ -89,11 +93,11 @@ # else # define __bswap_32(x) \ (__extension__ \ - ({ unsigned int __v; \ + ({ unsigned int __v, __x = (x); \ if (__builtin_constant_p (x)) \ - __v = __bswap_constant_32 (x); \ + __v = __bswap_constant_32 (__x); \ else { \ - unsigned int __tmp = (unsigned int) (x); \ + unsigned int __tmp = (unsigned int) (__x); \ __asm__ __volatile__ ( \ "la 1,%1\n" \ "icm %0,8,3(1)\n" \ @@ -105,7 +109,11 @@ __v; })) # endif #else -# define __bswap_32(x) __bswap_constant_32 (x) +static __inline unsigned int +__bswap_32 (unsigned int __bsx) +{ + return __bswap_constant_32 (__bsx); +} #endif /* Swap bytes in 64 bit value. */ @@ -119,11 +127,11 @@ # if __WORDSIZE == 64 # define __bswap_64(x) \ (__extension__ \ - ({ unsigned long __w; \ + ({ unsigned long __w, __x = (x); \ if (__builtin_constant_p (x)) \ - __w = __bswap_constant_64 (x); \ + __w = __bswap_constant_64 (__x); \ else { \ - unsigned long __tmp = (unsigned long) (x); \ + unsigned long __tmp = (unsigned long) (__x); \ __asm__ __volatile__ ( \ "lrvg %0,%1" \ : "=&d" (__w) : "m" (__tmp)); \ @@ -140,7 +148,11 @@ __r.__ll; }) # endif #else -# define __bswap_64(x) __bswap_constant_64 (x) +static __inline unsigned long long int +__bswap_64 (unsigned long long int __bsx) +{ + return __bswap_constant_64 (__bsx); +} #endif #endif /* _BITS_BYTESWAP_H */ -- cgit v1.2.3