projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
6a4f3b5
)
x86: Fix vsyscall on gcc 4.5 with -Os
author
Andi Kleen
<
[email protected]
>
Fri, 18 Jun 2010 21:09:00 +0000
(23:09 +0200)
committer
H. Peter Anvin
<
[email protected]
>
Fri, 18 Jun 2010 21:16:31 +0000
(14:16 -0700)
This fixes the -Os breaks with gcc 4.5 bug. rdtsc_barrier needs to be
force inlined, otherwise user space will jump into kernel space and
kill init.
This also addresses http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44129
I believe.
Signed-off-by: Andi Kleen <
[email protected]
>
LKML-Reference: <
20100618210859
[email protected]
>
Signed-off-by: H. Peter Anvin <
[email protected]
>
Cc: <
[email protected]
>
arch/x86/include/asm/system.h
patch
|
blob
|
history
diff --git
a/arch/x86/include/asm/system.h
b/arch/x86/include/asm/system.h
index b8fe48ee2ed971d648fa4ad940a210ddfc9fb90c..e7f4d33c55edbb80b8ec52d9793a45d3c8854519 100644
(file)
--- a/
arch/x86/include/asm/system.h
+++ b/
arch/x86/include/asm/system.h
@@
-451,7
+451,7
@@
void stop_this_cpu(void *dummy);
*
* (Could use an alternative three way for this if there was one.)
*/
-static inline void rdtsc_barrier(void)
+static
__always_
inline void rdtsc_barrier(void)
{
alternative(ASM_NOP3, "mfence", X86_FEATURE_MFENCE_RDTSC);
alternative(ASM_NOP3, "lfence", X86_FEATURE_LFENCE_RDTSC);