On Wed, Mar 04, 2009 at 08:36:45AM -0800, David Daney wrote: >> That won't quite retain the ABI: you need to make sure everyone >> locates it by using the stack pointer instead of the return pc. >> Fortunately, GCC uses the return PC only for instruction matching >> today. I have a vague memory it used to use the stack pointer but >> this was more reliable. > > That is correct. Due to various errata the trampoline cannot always be > at a fixed offset to the signal context bits. So we had to use the > return PC as you indicate. To maintaine compatibility with old debuggers and possibly other software that knows about the stackframe layout I wrote the signal code to only use the larger alignment of the stackframe if a particular processor requires it. However one possible improvment would be to change the way a struct sigframe or rt_sigframe is allocated on the stack such that not the beginning of the structure is aligned but the rs_code field is kept aligned. Would such a change cause problems for gdb? Ralf