This happens because Solaris defaults to -fno-omit-frame-pointer, so it
uses %ebp instead of the expected %esp. As Hongyu Wang suggested in the
PR, this can be fixed by accepting both forms, which this patch does.
Tested on i386-pc-solaris2.11 and x86_64-pc-linux-gnu.