If you get following compilation error while emerging xen (resp. xen-tools):
arch/i386/core/cpu.c: In function 'get_cpuinfo': arch/i386/include/bits/cpu.h:79:2: error: can't find a register in class 'BREG' while reloading 'asm' arch/i386/include/bits/cpu.h:79:2: error: can't find a register in class 'BREG' while reloading 'asm' arch/i386/include/bits/cpu.h:79:2: error: can't find a register in class 'BREG' while reloading 'asm' arch/i386/include/bits/cpu.h:79:2: error: can't find a register in class 'BREG' while reloading 'asm' arch/i386/include/bits/cpu.h:79:2: error: 'asm' operand has impossible constraints arch/i386/include/bits/cpu.h:79:2: error: 'asm' operand has impossible constraints arch/i386/include/bits/cpu.h:79:2: error: 'asm' operand has impossible constraints arch/i386/include/bits/cpu.h:79:2: error: 'asm' operand has impossible constraints make[7]: *** [bin/cpu.o] Error 1 make[7]: *** Waiting for unfinished jobs....
Than you should not only switch to non-hardened gentoo profile as everywhere is written (via eselect profile), but you need also to switch to vanilla gcc compilator (via gcc-config). Doing just one thing is not enough – thats the magic. You can switch back your profile & gcc back when xen compiled.