summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Hsieh <andrewhsieh@google.com>2013-09-03 13:41:05 +0800
committerAndrew Hsieh <andrewhsieh@google.com>2013-09-04 14:49:08 +0800
commit627f9b20fc518937b93747a7ff1ed4f5ed46e06f (patch)
treed032a25b8d78cb26a964f99691b1dd3a1fa37f79
parentebdad82e61c16772f6cd47e9f11936bf6ebe9aa0 (diff)
downloadx86_64-linux-glibc2.7-4.6-idea133-weekly-release.tar.gz
Fix for clang -fsyntax-only happens to see the same header as host gccub-tools-idea133-releasetools_r22.2l-previewidea133-weekly-releaseidea133
Also make mount.h and later included fs.h consistent, define MAP_ANON to literal, and undef MIN/MAX befor re-definition, etc, etc Change-Id: I19b92b8f998a0f79983d7cbecec6a49ef3e92b1c
-rw-r--r--lib/gcc/x86_64-linux/4.6.x-google/include/emmintrin.h95
-rw-r--r--lib/gcc/x86_64-linux/4.6.x-google/include/mmintrin.h7
-rw-r--r--lib/gcc/x86_64-linux/4.6.x-google/include/xmmintrin.h79
-rw-r--r--sysroot/usr/include/assert.h1
-rw-r--r--sysroot/usr/include/bits/mman.h2
-rw-r--r--sysroot/usr/include/linux/fs.h3
-rw-r--r--sysroot/usr/include/sys/mount.h42
-rw-r--r--sysroot/usr/include/sys/param.h2
-rw-r--r--sysroot/usr/include/unistd.h1
9 files changed, 200 insertions, 32 deletions
diff --git a/lib/gcc/x86_64-linux/4.6.x-google/include/emmintrin.h b/lib/gcc/x86_64-linux/4.6.x-google/include/emmintrin.h
index fe4cd6a..96949b2 100644
--- a/lib/gcc/x86_64-linux/4.6.x-google/include/emmintrin.h
+++ b/lib/gcc/x86_64-linux/4.6.x-google/include/emmintrin.h
@@ -47,6 +47,99 @@ typedef char __v16qi __attribute__ ((__vector_size__ (16)));
typedef long long __m128i __attribute__ ((__vector_size__ (16), __may_alias__));
typedef double __m128d __attribute__ ((__vector_size__ (16), __may_alias__));
+#if defined(__clang__) && defined(WITH_SYNTAX_CHECK)
+/* Workaround for "clang -fsyntax-only" happens to use this header, but may
+ * choke on something not supported in clang
+ */
+__m128d __builtin_ia32_addpd (__v2df, __v2df);
+__m128d __builtin_ia32_addsd (__v2df, __v2df);
+__m128d __builtin_ia32_andnpd (__v2df, __v2df);
+__m128d __builtin_ia32_andpd (__v2df, __v2df);
+__m128d __builtin_ia32_cmpeqpd (__v2df, __v2df);
+__m128d __builtin_ia32_cmpeqsd (__v2df, __v2df);
+__m128d __builtin_ia32_cmpgepd (__v2df, __v2df);
+__m128d __builtin_ia32_cmpgtpd (__v2df, __v2df);
+__m128d __builtin_ia32_cmplepd (__v2df, __v2df);
+__m128d __builtin_ia32_cmplesd (__v2df, __v2df);
+__m128d __builtin_ia32_cmpltpd (__v2df, __v2df);
+__m128d __builtin_ia32_cmpltsd (__v2df, __v2df);
+__m128d __builtin_ia32_cmpneqpd (__v2df, __v2df);
+__m128d __builtin_ia32_cmpneqsd (__v2df, __v2df);
+__m128d __builtin_ia32_cmpngepd (__v2df, __v2df);
+__m128d __builtin_ia32_cmpngtpd (__v2df, __v2df);
+__m128d __builtin_ia32_cmpnlepd (__v2df, __v2df);
+__m128d __builtin_ia32_cmpnlesd (__v2df, __v2df);
+__m128d __builtin_ia32_cmpnltpd (__v2df, __v2df);
+__m128d __builtin_ia32_cmpnltsd (__v2df, __v2df);
+__m128d __builtin_ia32_cmpordpd (__v2df, __v2df);
+__m128d __builtin_ia32_cmpordsd (__v2df, __v2df);
+__m128d __builtin_ia32_cmpunordpd (__v2df, __v2df);
+__m128d __builtin_ia32_cmpunordsd (__v2df, __v2df);
+__m128d __builtin_ia32_cvtsi2sd (__v2df, int);
+__m128d __builtin_ia32_cvtss2sd (__v2df, __v4sf);
+__m128d __builtin_ia32_divpd (__v2df, __v2df);
+__m128d __builtin_ia32_divsd (__v2df, __v2df);
+__m128d __builtin_ia32_loadhpd (__v2df, double const *);
+__m128d __builtin_ia32_loadlpd (__v2df, double const *);
+__m128d __builtin_ia32_movsd (__v2df, __v2df);
+__m128d __builtin_ia32_mulpd (__v2df, __v2df);
+__m128d __builtin_ia32_mulsd (__v2df, __v2df);
+__m128d __builtin_ia32_orpd (__v2df, __v2df);
+__m128d __builtin_ia32_shufpd (__v2df, __v2df, const int);
+__m128d __builtin_ia32_subpd (__v2df, __v2df);
+__m128d __builtin_ia32_subsd (__v2df, __v2df);
+__m128d __builtin_ia32_unpckhpd (__v2df, __v2df);
+__m128d __builtin_ia32_unpcklpd (__v2df, __v2df);
+__m128d __builtin_ia32_xorpd (__v2df, __v2df);
+__m128i __builtin_ia32_loaddqu (char const *);
+__m128i __builtin_ia32_movq128 (__v2di);
+__m128i __builtin_ia32_paddb128 (__v16qi, __v16qi);
+__m128i __builtin_ia32_paddd128 (__v4si, __v4si);
+__m128i __builtin_ia32_paddq128 (__v2di, __v2di);
+__m128i __builtin_ia32_paddw128 (__v8hi, __v8hi);
+__m128i __builtin_ia32_pand128 (__v2di, __v2di);
+__m128i __builtin_ia32_pandn128 (__v2di, __v2di);
+__m128i __builtin_ia32_pcmpeqb128 (__v16qi, __v16qi);
+__m128i __builtin_ia32_pcmpeqd128 (__v4si, __v4si);
+__m128i __builtin_ia32_pcmpeqw128 (__v8hi, __v8hi);
+__m128i __builtin_ia32_pcmpgtb128 (__v16qi, __v16qi);
+__m128i __builtin_ia32_pcmpgtb128 (__v16qi, __v16qi);
+__m128i __builtin_ia32_pcmpgtd128 (__v4si, __v4si);
+__m128i __builtin_ia32_pcmpgtd128 (__v4si, __v4si);
+__m128i __builtin_ia32_pcmpgtw128 (__v8hi, __v8hi);
+__m128i __builtin_ia32_pcmpgtw128 (__v8hi, __v8hi);
+__m128i __builtin_ia32_pmullw128 (__v8hi, __v8hi);
+__m128i __builtin_ia32_por128 (__v2di, __v2di);
+__m128i __builtin_ia32_pshufd (__v4si, const int);
+__m128i __builtin_ia32_pshufhw (__v8hi, const int);
+__m128i __builtin_ia32_pshuflw (__v8hi, const int);
+__m128i __builtin_ia32_pslldqi128 (__m128i, const int);
+__m128i __builtin_ia32_psrldqi128 (__m128i, const int);
+__m128i __builtin_ia32_psubb128 (__v16qi, __v16qi);
+__m128i __builtin_ia32_psubd128 (__v4si, __v4si);
+__m128i __builtin_ia32_psubq128 (__v2di, __v2di);
+__m128i __builtin_ia32_psubw128 (__v8hi, __v8hi);
+__m128i __builtin_ia32_punpckhbw128 (__v16qi, __v16qi);
+__m128i __builtin_ia32_punpckhdq128 (__v4si, __v4si);
+__m128i __builtin_ia32_punpckhqdq128 (__v2di, __v2di);
+__m128i __builtin_ia32_punpckhwd128 (__v8hi, __v8hi);
+__m128i __builtin_ia32_punpcklbw128 (__v16qi, __v16qi);
+__m128i __builtin_ia32_punpckldq128 (__v4si, __v4si);
+__m128i __builtin_ia32_punpcklqdq128 (__v2di, __v2di);
+__m128i __builtin_ia32_punpcklwd128 (__v8hi, __v8hi);
+__m128i __builtin_ia32_pxor128 (__v2di, __v2di);
+__m128i __builtin_ia32_vec_set_v8hi (__v8hi, const int, const int);
+__m128d __builtin_ia32_loadupd (double const *);
+int __builtin_ia32_cvttsd2si (__v2df);
+double __builtin_ia32_vec_ext_v2df (__m128d, const int);
+int __builtin_ia32_vec_ext_v4si (__v4si, const int);
+__m128 __builtin_ia32_cvtsd2ss (__v4sf, __v2df);
+long long __builtin_ia32_vec_ext_v2di (__v2di, const int);
+unsigned short __builtin_ia32_vec_ext_v8hi (__v8hi, const int);
+long long __builtin_ia32_cvttsd2si64 (__v2df);
+__m128d __builtin_ia32_cvtsi642sd (__v2df, long long);
+#endif
+
/* Create a selector for use with the SHUFPD instruction. */
#define _MM_SHUFFLE2(fp1,fp0) \
(((fp1) << 1) | (fp0))
@@ -1142,7 +1235,7 @@ _mm_srai_epi32 (__m128i __A, int __B)
return (__m128i)__builtin_ia32_psradi128 ((__v4si)__A, __B);
}
-#ifdef __OPTIMIZE__
+#if defined(__OPTIMIZE__) && !defined(__clang__)
extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srli_si128 (__m128i __A, const int __N)
{
diff --git a/lib/gcc/x86_64-linux/4.6.x-google/include/mmintrin.h b/lib/gcc/x86_64-linux/4.6.x-google/include/mmintrin.h
index 497e22e..e54072b 100644
--- a/lib/gcc/x86_64-linux/4.6.x-google/include/mmintrin.h
+++ b/lib/gcc/x86_64-linux/4.6.x-google/include/mmintrin.h
@@ -31,6 +31,13 @@
#ifndef __MMX__
# error "MMX instruction set not enabled"
#else
+#if defined(__clang__) && defined(WITH_SYNTAX_CHECK)
+/* Workaround for "clang -fsyntax-only" happens to use this header, but may
+ * choke on something not supported
+ */
+#define __artificial__ pure
+#endif
+
/* The Intel API is flexible enough that we must allow aliasing with other
vector types, and their scalar components. */
typedef int __m64 __attribute__ ((__vector_size__ (8), __may_alias__));
diff --git a/lib/gcc/x86_64-linux/4.6.x-google/include/xmmintrin.h b/lib/gcc/x86_64-linux/4.6.x-google/include/xmmintrin.h
index 5aefa9d..3ad8266 100644
--- a/lib/gcc/x86_64-linux/4.6.x-google/include/xmmintrin.h
+++ b/lib/gcc/x86_64-linux/4.6.x-google/include/xmmintrin.h
@@ -45,6 +45,67 @@ typedef float __m128 __attribute__ ((__vector_size__ (16), __may_alias__));
/* Internal data types for implementing the intrinsics. */
typedef float __v4sf __attribute__ ((__vector_size__ (16)));
+#if defined(__clang__) && defined(WITH_SYNTAX_CHECK)
+/* Workaround for "clang -fsyntax-only" happens to use this header, but may
+ * choke on something not supported in clang
+ */
+int __builtin_ia32_cvtss2si (__v4sf);
+int __builtin_ia32_cvttss2si (__v4sf);
+__m128 __builtin_ia32_addps (__v4sf, __v4sf);
+__m128 __builtin_ia32_addss (__v4sf, __v4sf);
+__m128 __builtin_ia32_addss (__v4sf, __v4sf);
+__m128 __builtin_ia32_addss (__v4sf, __v4sf);
+__m128 __builtin_ia32_andnps (__m128, __m128);
+__m128 __builtin_ia32_andps (__m128, __m128);
+__m128 __builtin_ia32_cmpeqps (__v4sf, __v4sf);
+__m128 __builtin_ia32_cmpeqss (__v4sf, __v4sf);
+__m128 __builtin_ia32_cmpgeps (__v4sf, __v4sf);
+__m128 __builtin_ia32_cmpgtps (__v4sf, __v4sf);
+__m128 __builtin_ia32_cmpleps (__v4sf, __v4sf);
+__m128 __builtin_ia32_cmpless (__v4sf, __v4sf);
+__m128 __builtin_ia32_cmpltps (__v4sf, __v4sf);
+__m128 __builtin_ia32_cmpltss (__v4sf, __v4sf);
+__m128 __builtin_ia32_cmpneqps (__v4sf, __v4sf);
+__m128 __builtin_ia32_cmpneqss (__v4sf, __v4sf);
+__m128 __builtin_ia32_cmpngeps (__v4sf, __v4sf);
+__m128 __builtin_ia32_cmpngtps (__v4sf, __v4sf);
+__m128 __builtin_ia32_cmpnleps (__v4sf, __v4sf);
+__m128 __builtin_ia32_cmpnless (__v4sf, __v4sf);
+__m128 __builtin_ia32_cmpnltps (__v4sf, __v4sf);
+__m128 __builtin_ia32_cmpnltss (__v4sf, __v4sf);
+__m128 __builtin_ia32_cmpordps (__v4sf, __v4sf);
+__m128 __builtin_ia32_cmpordss (__v4sf, __v4sf);
+__m128 __builtin_ia32_cmpunordps (__v4sf, __v4sf);
+__m128 __builtin_ia32_cmpunordss (__v4sf, __v4sf);
+__m128 __builtin_ia32_cvtsi2ss (__v4sf, int);
+__m128 __builtin_ia32_divps (__v4sf, __v4sf);
+__m128 __builtin_ia32_divss (__v4sf, __v4sf);
+__m128 __builtin_ia32_movss (__v4sf, __v4sf);
+__m128 __builtin_ia32_mulps (__v4sf, __v4sf);
+__m128 __builtin_ia32_mulps (__v4sf, __v4sf);
+__m128 __builtin_ia32_mulss (__v4sf, __v4sf);
+__m128 __builtin_ia32_mulss (__v4sf, __v4sf);
+__m128 __builtin_ia32_orps (__m128, __m128);
+__m128 __builtin_ia32_subps (__v4sf, __v4sf);
+__m128 __builtin_ia32_subss (__v4sf, __v4sf);
+__m128 __builtin_ia32_subss (__v4sf, __v4sf);
+__m128 __builtin_ia32_xorps (__m128, __m128);
+__m128 __builtin_ia32_loadhps (__v4sf, const __v2sf *);
+__m128 __builtin_ia32_loadlps (__v4sf, const __v2sf *);
+__m128 __builtin_ia32_movhlps (__v4sf, __v4sf);
+__m128 __builtin_ia32_movlhps (__v4sf, __v4sf);
+__m128 __builtin_ia32_shufps (__v4sf, __v4sf, int const);
+__m128 __builtin_ia32_unpckhps (__v4sf, __v4sf);
+__m128 __builtin_ia32_unpcklps (__v4sf, __v4sf);
+__m128 __builtin_ia32_loadups (float const *);
+__m64 __builtin_ia32_vec_set_v4hi (__v4hi, int const, int const);
+float __builtin_ia32_vec_ext_v4sf (__v4sf, const int);
+int __builtin_ia32_vec_ext_v4hi (__v4hi, const int);
+long long __builtin_ia32_cvtss2si64 (__v4sf);
+long long __builtin_ia32_cvttss2si64 (__v4sf);
+__m128 __builtin_ia32_cvtsi642ss (__v4sf, long long);
+#endif
+
/* Create a selector for use with the SHUFPS instruction. */
#define _MM_SHUFFLE(fp3,fp2,fp1,fp0) \
(((fp3) << 6) | ((fp2) << 4) | ((fp1) << 2) | (fp0))
@@ -749,7 +810,11 @@ _mm_loadh_pi (__m128 __A, __m64 const *__P)
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_storeh_pi (__m64 *__P, __m128 __A)
{
+#if defined(__clang__)
+ __builtin_ia32_storehps ((__v2si *)__P, __A);
+#else
__builtin_ia32_storehps ((__v2sf *)__P, (__v4sf)__A);
+#endif
}
/* Moves the upper two values of B into the lower two values of A. */
@@ -778,7 +843,11 @@ _mm_loadl_pi (__m128 __A, __m64 const *__P)
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_storel_pi (__m64 *__P, __m128 __A)
{
+#if defined(__clang__)
+ __builtin_ia32_storelps ((__v2si *)__P, __A);
+#else
__builtin_ia32_storelps ((__v2sf *)__P, (__v4sf)__A);
+#endif
}
/* Creates a 4-bit mask from the most significant bits of the SPFP values. */
@@ -1109,7 +1178,7 @@ _m_pmulhuw (__m64 __A, __m64 __B)
/* Return a combination of the four 16-bit values in A. The selector
must be an immediate. */
-#ifdef __OPTIMIZE__
+#if defined(__OPTIMIZE__) && !defined(__clang__)
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_shuffle_pi16 (__m64 __A, int const __N)
{
@@ -1186,7 +1255,7 @@ _m_psadbw (__m64 __A, __m64 __B)
/* Loads one cache line from address P to a location "closer" to the
processor. The selector I specifies the type of prefetch operation. */
-#ifdef __OPTIMIZE__
+#if defined(__OPTIMIZE__) && !defined(__clang__)
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_prefetch (const void *__P, enum _mm_hint __I)
{
@@ -1201,7 +1270,13 @@ _mm_prefetch (const void *__P, enum _mm_hint __I)
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_stream_pi (__m64 *__P, __m64 __A)
{
+#if defined(__clang__)
+ /* Note that __m64 in gcc is defined as "int" instead of "long long", and fail clang. */
+ typedef long long __m64_clang __attribute__((__vector_size__(8)));
+ __builtin_ia32_movntq ((__m64_clang *)__P, __A);
+#else
__builtin_ia32_movntq ((unsigned long long *)__P, (unsigned long long)__A);
+#endif
}
/* Likewise. The address must be 16-byte aligned. */
diff --git a/sysroot/usr/include/assert.h b/sysroot/usr/include/assert.h
index 8989713..900db32 100644
--- a/sysroot/usr/include/assert.h
+++ b/sysroot/usr/include/assert.h
@@ -49,6 +49,7 @@
#ifdef NDEBUG
+#undef assert
# define assert(expr) (__ASSERT_VOID_CAST (0))
/* void assert_perror (int errnum);
diff --git a/sysroot/usr/include/bits/mman.h b/sysroot/usr/include/bits/mman.h
index 535c9ed..e71a52c 100644
--- a/sysroot/usr/include/bits/mman.h
+++ b/sysroot/usr/include/bits/mman.h
@@ -51,7 +51,7 @@
#ifdef __USE_MISC
# define MAP_FILE 0
# define MAP_ANONYMOUS 0x20 /* Don't use a file. */
-# define MAP_ANON MAP_ANONYMOUS
+# define MAP_ANON 0x20
# define MAP_32BIT 0x40 /* Only give out 32-bit addresses. */
#endif
diff --git a/sysroot/usr/include/linux/fs.h b/sysroot/usr/include/linux/fs.h
index c0d5afe..ac00eb3 100644
--- a/sysroot/usr/include/linux/fs.h
+++ b/sysroot/usr/include/linux/fs.h
@@ -130,12 +130,13 @@ extern int dir_notify_enable;
/*
* Superblock flags that can be altered by MS_REMOUNT
*/
+#undef MS_RMT_MASK
#define MS_RMT_MASK (MS_RDONLY|MS_SYNCHRONOUS|MS_MANDLOCK)
/*
* Old magic mount flag and mask
*/
-#define MS_MGC_VAL 0xC0ED0000
+#define MS_MGC_VAL 0xc0ed0000
#define MS_MGC_MSK 0xffff0000
/* Inode flags - they have nothing to superblock flags now */
diff --git a/sysroot/usr/include/sys/mount.h b/sysroot/usr/include/sys/mount.h
index b305549..b839bd7 100644
--- a/sysroot/usr/include/sys/mount.h
+++ b/sysroot/usr/include/sys/mount.h
@@ -25,8 +25,9 @@
#include <features.h>
#include <sys/ioctl.h>
-#define BLOCK_SIZE 1024
+
#define BLOCK_SIZE_BITS 10
+#define BLOCK_SIZE (1<<BLOCK_SIZE_BITS)
/* These are the fs-independent mount-flags: up to 16 flags are
@@ -34,31 +35,18 @@
enum
{
MS_RDONLY = 1, /* Mount read-only. */
-#define MS_RDONLY MS_RDONLY
MS_NOSUID = 2, /* Ignore suid and sgid bits. */
-#define MS_NOSUID MS_NOSUID
MS_NODEV = 4, /* Disallow access to device special files. */
-#define MS_NODEV MS_NODEV
MS_NOEXEC = 8, /* Disallow program execution. */
-#define MS_NOEXEC MS_NOEXEC
MS_SYNCHRONOUS = 16, /* Writes are synced at once. */
-#define MS_SYNCHRONOUS MS_SYNCHRONOUS
MS_REMOUNT = 32, /* Alter flags of a mounted FS. */
-#define MS_REMOUNT MS_REMOUNT
MS_MANDLOCK = 64, /* Allow mandatory locks on an FS. */
-#define MS_MANDLOCK MS_MANDLOCK
S_WRITE = 128, /* Write on file/directory/symlink. */
-#define S_WRITE S_WRITE
S_APPEND = 256, /* Append-only file. */
-#define S_APPEND S_APPEND
S_IMMUTABLE = 512, /* Immutable file. */
-#define S_IMMUTABLE S_IMMUTABLE
MS_NOATIME = 1024, /* Do not update access times. */
-#define MS_NOATIME MS_NOATIME
MS_NODIRATIME = 2048, /* Do not update directory access times. */
-#define MS_NODIRATIME MS_NODIRATIME
MS_BIND = 4096, /* Bind directory at different place. */
-#define MS_BIND MS_BIND
};
/* Flags that can be altered by MS_REMOUNT */
@@ -76,21 +64,21 @@ enum
is probably as bad and I don't want to create yet another include
file. */
-#define BLKROSET _IO(0x12, 93) /* Set device read-only (0 = read-write). */
-#define BLKROGET _IO(0x12, 94) /* Get read-only status (0 = read_write). */
-#define BLKRRPART _IO(0x12, 95) /* Re-read partition table. */
-#define BLKGETSIZE _IO(0x12, 96) /* Return device size. */
-#define BLKFLSBUF _IO(0x12, 97) /* Flush buffer cache. */
-#define BLKRASET _IO(0x12, 98) /* Set read ahead for block device. */
-#define BLKRAGET _IO(0x12, 99) /* Get current read ahead setting. */
-#define BLKFRASET _IO(0x12,100) /* Set filesystem read-ahead. */
-#define BLKFRAGET _IO(0x12,101) /* Get filesystem read-ahead. */
-#define BLKSECTSET _IO(0x12,102) /* Set max sectors per request. */
-#define BLKSECTGET _IO(0x12,103) /* Get max sectors per request. */
-#define BLKSSZGET _IO(0x12,104) /* Get block device sector size. */
+#define BLKROSET _IO(0x12,93) /* set device read-only (0 = read-write) */
+#define BLKROGET _IO(0x12,94) /* get read-only status (0 = read_write) */
+#define BLKRRPART _IO(0x12,95) /* re-read partition table */
+#define BLKGETSIZE _IO(0x12,96) /* return device size /512 (long *arg) */
+#define BLKFLSBUF _IO(0x12,97) /* flush buffer cache */
+#define BLKRASET _IO(0x12,98) /* set read ahead for block device */
+#define BLKRAGET _IO(0x12,99) /* get current read ahead setting */
+#define BLKFRASET _IO(0x12,100)/* set filesystem (mm/filemap.c) read-ahead */
+#define BLKFRAGET _IO(0x12,101)/* get filesystem (mm/filemap.c) read-ahead */
+#define BLKSECTSET _IO(0x12,102)/* set max sectors per request (ll_rw_blk.c) */
+#define BLKSECTGET _IO(0x12,103)/* get max sectors per request (ll_rw_blk.c) */
+#define BLKSSZGET _IO(0x12,104)/* get block device sector size */
#define BLKBSZGET _IOR(0x12,112,size_t)
#define BLKBSZSET _IOW(0x12,113,size_t)
-#define BLKGETSIZE64 _IOR(0x12,114,size_t) /* return device size. */
+#define BLKGETSIZE64 _IOR(0x12,114,size_t) /* return device size in bytes (u64 *arg) */
/* Possible value for FLAGS parameter of `umount2'. */
diff --git a/sysroot/usr/include/sys/param.h b/sysroot/usr/include/sys/param.h
index 0b0424e..3b4fcdd 100644
--- a/sysroot/usr/include/sys/param.h
+++ b/sysroot/usr/include/sys/param.h
@@ -61,7 +61,9 @@
#define powerof2(x) ((((x) - 1) & (x)) == 0)
/* Macros for min/max. */
+#undef MIN
#define MIN(a,b) (((a)<(b))?(a):(b))
+#undef MAX
#define MAX(a,b) (((a)>(b))?(a):(b))
diff --git a/sysroot/usr/include/unistd.h b/sysroot/usr/include/unistd.h
index 476c1f3..3035582 100644
--- a/sysroot/usr/include/unistd.h
+++ b/sysroot/usr/include/unistd.h
@@ -1051,6 +1051,7 @@ extern int lockf64 (int __fd, int __cmd, __off64_t __len) __wur;
/* Evaluate EXPRESSION, and repeat as long as it returns -1 with `errno'
set to EINTR. */
+#undef TEMP_FAILURE_RETRY
# define TEMP_FAILURE_RETRY(expression) \
(__extension__ \
({ long int __result; \