Looking at the disassembly (along with the command trace) of ld.so installed in Ubuntu 9.04, I swear that from time to time I see data stored under the stack pointer (i.e., outside the top of the stack). It seems crazy to me, but perhaps it is more common than I think. Does this happen often?
Here is what I see:
ebp: 0xBF8269E8, esp: 0xBF8269DC
c98: 8b 45 f0 mov -0x10(%ebp),%eax
c9b: 8d 14 06 lea (%esi,%eax,1),%edx
c9e: 8b 83 28 03 00 00 mov 0x328(%ebx),%eax
ca4: 3b 50 04 cmp 0x4(%eax),%edx
source
share