For i?86 negative offsets to %fs segment accesses cause a hypervisor trap for Xen. Avoid this by making accesses indirect. ??? Note that similar to the behavior on SLE11 this only affects the compiler built on %ix86, not that on x86_64, even with -m32. Index: gcc/config/i386/linux.h =================================================================== --- gcc/config/i386/linux.h (revision 209175) +++ gcc/config/i386/linux.h (working copy) @@ -21,3 +21,9 @@ along with GCC; see the file COPYING3. #define GNU_USER_LINK_EMULATION "elf_i386" #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" + +/* 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 0