On Mon, Mar 07, 2011 at 07:50:14AM -0500, Avi Kivity wrote: > On 03/07/2011 02:11 PM, Roedel, Joerg wrote: > > There is no access to per_cpu variables at the start of x86_decode_insn. > > I did a bit of investigation and it turns out that the faulting > > instruction is inserted into the code by the gcc because the > > CONFIG_CC_STACKPROTECTOR is enabled. > > The user tested this is Ubuntu 11.04 alpha-something i386 and this > > distro uses gcc 4.5.2. So CC_STACKPROTECTOR seems to be harmful with > > this gcc version but I am not sure whether this counts as a gcc bug. > > Ah, looks like %gs is the expected segment on i386 with > -fstack-protector. So we must disable lazy gs reload in that scenario. According to the comments in stackprotector.h its the same on amd64 (the difference is that gcc expects the canary value at a different offset from %gs). So we should probably unlazy %gs reload alltogether. Joerg -- AMD Operating System Research Center Advanced Micro Devices GmbH Einsteinring 24 85609 Dornach General Managers: Alberto Bozzo, Andrew Bowd Registration: Dornach, Landkr. Muenchen; Registerger. Muenchen, HRB Nr. 43632 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html