On Tue, Sep 11, 2012 at 12:48 PM, Måns Rullgård <[email protected]> wrote:

> Martin Storsjö <[email protected]> writes:
>
> > On 64 bit, the stack seems to be aligned enough for our needs.
> > ---
> >  configure |    2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/configure b/configure
> > index fec7b25..4d807db 100755
> > --- a/configure
> > +++ b/configure
> > @@ -2330,7 +2330,7 @@ probe_cc(){
> >          if [ $pfx = hostcc ]; then
> >              append _cflags -Dsnprintf=_snprintf
> >          fi
> > -        disable aligned_stack
> > +        enabled x86_32 && disable aligned_stack
> >      fi
> >
> >      eval ${pfx}_type=\$_type
> > --
>
> Wrong.  The architecture is not known at this point.
>
>

What is considered an aligned stack? 16 byte alignment?

>From http://msdn.microsoft.com/en-us/library/aa290049%28v=vs.71%29.aspx
"On both of the 64-bit platforms, the top of each stackframe is 16-byte
aligned. Although this uses more space than is needed, it guarantees that
the compiler can place all data on the stack in a way that all elements are
aligned.
The x86 compiler uses a different method for aligning the stack. By
default, the stack is 4-byte aligned. "

So, x64 aligns on 16-bytes, while x86 does not (and sadly does not seem to
offer a switch to make it so)
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to