Jakub Jelinek <ja...@redhat.com> writes: > On Mon, Nov 12, 2012 at 12:30:37PM +0100, Dodji Seketeli wrote: >> + For this function, the stack protected by asan will be organized as >> + follows, from the top of the stack to the bottom: >> + >> + Slot 1/ [red zone of 32 bytes called 'RIGHT RedZone'] >> + >> + Slot 2/ [24 bytes for variable 'a'] >> + >> + Slot 3/ [8 bytes of red zone, that adds up to the space of 'a' to make >> + the next slot be 32 bytes aligned; this one is called Partial >> + Redzone; this 32 bytes alignment is an asan constraint] > > If you are going from top to bottom, the padding (here Slot 3/) goes above > the variables, so you need to swap Slot 2/ and 3/, 5/ and 6/ and adjust > comment for former slot 6/.
Done, committed to trunk. > >> + >> + Slot 4/ [red zone of 32 bytes called 'Middle RedZone'] >> + >> + Slot 5/ [8 bytes for variable 'b'] >> + >> + Slot 6/ [24 bytes of Partial Red Zone (similar to slot 3] >> + >> + Slot 7/ [32 bytes of Red Zone at the bottom of the stack, called 'LEFT >> + RedZone'] >> + > ... >> + The shadow memory for that stack layout is going to look like this: >> + >> + - content of shadow memory 8 bytes for slot 7: 0xFFFFFFFFF1F1F1F1. > > Please strip the extra leading FFFFFFFF from the constants, the stores are > all 32-bit and the constants are just sign-extended. Done, committed to trunk. -- Dodji