Ville-Pertti Keinonen wrote:

> Perhaps crt1.c should call main like this (I can't immediately figure
> out whether the stack pointer should be correctly aligned before the
> return address is pushed or after the previous stack frame is pushed,
> this is assuming the former, s/subl/addl/ would change it).

The stack must be aligned before the return address is pushed:

The following C fragment
        f(1);
        f(2);

Translates to

        addl $-12,%esp
        pushl $1
        call f
        addl $16,%esp
        addl $-12,%esp
        pushl $2
        call f
        addl $16,%esp

This assumes the stack is already aligned, of course.

-- 
Marcel Moolenaar                        mailto:[EMAIL PROTECTED]
SCC Internetworking & Databases           http://www.scc.nl/
The FreeBSD project                mailto:[EMAIL PROTECTED]


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to