summaryrefslogtreecommitdiff
path: root/sysdeps/generic/bits
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/generic/bits')
-rw-r--r--sysdeps/generic/bits/byteswap.h19
-rw-r--r--sysdeps/generic/bits/mman.h8
2 files changed, 18 insertions, 9 deletions
diff --git a/sysdeps/generic/bits/byteswap.h b/sysdeps/generic/bits/byteswap.h
index 5f08fed613..949ed0bc9d 100644
--- a/sysdeps/generic/bits/byteswap.h
+++ b/sysdeps/generic/bits/byteswap.h
@@ -25,32 +25,35 @@
#define _BITS_BYTESWAP_H 1
/* Swap bytes in 16 bit value. */
+#define __bswap_constant_16(x) \
+ ((((x) >> 8) & 0xffu) | (((x) & 0xffu) << 8))
+
#ifdef __GNUC__
# define __bswap_16(x) \
(__extension__ \
- ({ unsigned short int __bsx = (x); \
- ((((__bsx) >> 8) & 0xffu) | (((__bsx) & 0xffu) << 8)); }))
+ ({ unsigned short int __bsx = (x); __bswap_constant_16 (__bsx); }))
#else
static __inline unsigned short int
__bswap_16 (unsigned short int __bsx)
{
- return ((((__bsx) >> 8) & 0xffu) | (((__bsx) & 0xffu) << 8));
+ return __bswap_constant_16 (__bsx);
}
#endif
/* Swap bytes in 32 bit value. */
+#define __bswap_constant_32(x) \
+ ((((x) & 0xff000000u) >> 24) | (((x) & 0x00ff0000u) >> 8) | \
+ (((x) & 0x0000ff00u) << 8) | (((x) & 0x000000ffu) << 24))
+
#ifdef __GNUC__
# define __bswap_32(x) \
(__extension__ \
- ({ unsigned int __bsx = (x); \
- ((((__bsx) & 0xff000000u) >> 24) | (((__bsx) & 0x00ff0000u) >> 8) | \
- (((__bsx) & 0x0000ff00u) << 8) | (((__bsx) & 0x000000ffu) << 24)); }))
+ ({ register unsigned int __bsx = (x); __bswap_constant_32 (__bsx); }))
#else
static __inline unsigned int
__bswap_32 (unsigned int __bsx)
{
- return ((((__bsx) & 0xff000000u) >> 24) | (((__bsx) & 0x00ff0000u) >> 8) |
- (((__bsx) & 0x0000ff00u) << 8) | (((__bsx) & 0x000000ffu) << 24));
+ return __bswap_constant_32 (__bsx);
}
#endif
diff --git a/sysdeps/generic/bits/mman.h b/sysdeps/generic/bits/mman.h
index a2ee064cae..0c15902706 100644
--- a/sysdeps/generic/bits/mman.h
+++ b/sysdeps/generic/bits/mman.h
@@ -1,5 +1,5 @@
/* Definitions for BSD-style memory management.
- Copyright (C) 1994-1998,2000,01,02 Free Software Foundation, Inc.
+ Copyright (C) 1994-1998,2000,01,02,05 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -85,6 +85,12 @@
#define MS_SYNC 0 /* Synchronous memory sync. */
#define MS_INVALIDATE 2 /* Invalidate the caches. */
+/* Flags for `mremap'. */
+#ifdef __USE_GNU
+# define MREMAP_MAYMOVE 1 /* Mapping address may change. */
+# define MREMAP_FIXED 2 /* Fifth argument sets new address. */
+#endif
+
/* Flags for `mlockall' (can be OR'd together). */
#define MCL_CURRENT 1 /* Lock all currently mapped pages. */
#define MCL_FUTURE 2 /* Lock all additions to address