File tls-no-direct.diff of Package gcc48
Index: gcc/config/i386/gnu-user-common.h
===================================================================
--- gcc/config/i386/gnu-user-common.h.orig 2012-12-11 12:44:53.918094370 +0100
+++ gcc/config/i386/gnu-user-common.h 2012-12-11 12:44:55.467094317 +0100
@@ -26,8 +26,12 @@ along with GCC; see the file COPYING3.
#define DEFAULT_PCC_STRUCT_RETURN 1
/* We arrange for the whole %fs segment to map the tls area. */
+/* This slows down Xen, so take a very small general performance hit
+ for not accessing the %fs segment with negative offsets by making
+ GCC not emit direct accesses to %fs at all.
#undef TARGET_TLS_DIRECT_SEG_REFS_DEFAULT
#define TARGET_TLS_DIRECT_SEG_REFS_DEFAULT MASK_TLS_DIRECT_SEG_REFS
+ */
#define TARGET_OS_CPP_BUILTINS() \
do \