File tls-no-direct.diff of Package gcc47
Index: gcc/config/i386/gnu-user.h
===================================================================
--- gcc/config/i386/gnu-user.h.orig 2011-05-09 17:58:22.000000000 +0200
+++ gcc/config/i386/gnu-user.h 2011-11-03 17:12:38.000000000 +0100
@@ -30,8 +30,12 @@ along with GCC; see the file COPYING3.
#define DEFAULT_PCC_STRUCT_RETURN 1
/* We arrange for the whole %gs segment to map the tls area. */
+/* This slows down Xen, so take a very small general performance hit
+ for not accessing the %gs segment with negative offsets by making
+ GCC not emit direct accesses to %gs at all.
#undef TARGET_TLS_DIRECT_SEG_REFS_DEFAULT
#define TARGET_TLS_DIRECT_SEG_REFS_DEFAULT MASK_TLS_DIRECT_SEG_REFS
+ */
#undef ASM_COMMENT_START
#define ASM_COMMENT_START "#"