diff options
author | Guenter Roeck <linux@roeck-us.net> | 2013-04-29 16:17:15 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-04-29 18:28:13 -0700 |
commit | 2fb0815c9ee6b9ac50e15dd8360ec76d9fa46a22 (patch) | |
tree | f643cc99fbca761607b39a9ca47e710f05b91e8a /include/linux/compiler-gcc4.h | |
parent | 657eee7d25fb1422422ca32d5619185ae56a245d (diff) | |
download | linux-stable-2fb0815c9ee6b9ac50e15dd8360ec76d9fa46a22.tar.gz linux-stable-2fb0815c9ee6b9ac50e15dd8360ec76d9fa46a22.tar.bz2 linux-stable-2fb0815c9ee6b9ac50e15dd8360ec76d9fa46a22.zip |
gcc4: disable __compiletime_object_size for GCC 4.6+
__builtin_object_size is known to be broken on gcc 4.6+.
See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48880 for details.
This causes unnecssary build warnings and errors such as
In function 'copy_from_user', inlined from 'sb16_copy_from_user'
at sound/oss/sb_audio.c:878:22:
arch/x86/include/asm/uaccess_32.h:211:26: error: call to 'copy_from_user_overflow'
declared with attribute error: copy_from_user() buffer size is not provably correct
make[3]: [sound/oss/sb_audio.o] Error 1 (ignored)
Disable it where broken.
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Cc: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/compiler-gcc4.h')
-rw-r--r-- | include/linux/compiler-gcc4.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/compiler-gcc4.h b/include/linux/compiler-gcc4.h index 68b162d92254..842de225055f 100644 --- a/include/linux/compiler-gcc4.h +++ b/include/linux/compiler-gcc4.h @@ -13,7 +13,7 @@ #define __must_check __attribute__((warn_unused_result)) #define __compiler_offsetof(a,b) __builtin_offsetof(a,b) -#if GCC_VERSION >= 40100 +#if GCC_VERSION >= 40100 && GCC_VERSION < 40600 # define __compiletime_object_size(obj) __builtin_object_size(obj, 0) #endif |