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
