PATCH: Also check for `movl %esp, %ebp' for x32

Mark Kettenis mark.kettenis@xs4all.nl
Thu May 3 21:50:00 GMT 2012


> >> I did have a look at it, but still have some questions.
> >>
> >>> Hi,
> >>>
> >>> X32 may use `movl %esp, %ebp' in prologue.  This patch checks it for
> >>> x32.  Tested on Linux/x86-64.  OK for trunk?
> >>
> >> But the prologues generated by various compilers are expected to be
> >> otherwise the same for both the x32 ABI and the normal 64-bit ABI?  I
> >> guess x32 has to use "pushq %rbp" as "pushl %ebp" isn't available.
> >> And I guess you want to keep the stack 16-byte aligned anyway.  I
> >> suppose that "movq %rsp, %rbp" is still ok for x32, but "movl %esp,
> >> %ebp" can be encoded in less bytes, so it might be a bit more
> >> efficient for x32.
> >
> > That is correct.
> 
> Is my patch OK to install?

Sorry, no.  I'm really unhappy with that multi-line if clause.  It
really is hard to parse.  I'm trying to come up with a suggestion to
make this better, but so far haven't succeeded.

Does GCC ever generate the `mov %rsp,%rsp' instruction for x32?



More information about the Gdb-patches mailing list