[Ffmpeg-devel] Re: [Ffmpeg-cvslog] r8420 - trunk/libavcodec/dv.c
Roman Shaposhnik
rvs
Sun Mar 25 20:15:15 CEST 2007
On Sun, 2007-03-25 at 15:40 +0300, Uoti Urpala wrote:
> On Sun, 2007-03-25 at 12:06 +0100, Guillaume POIRIER wrote:
> > On 3/25/07, Roman Shaposhnik <rvs at sun.com> wrote:
> > > On Fri, 2007-03-16 at 00:45 +0100, gpoirier wrote:
> > > > - assert((((int)block) & 7) == 0);
> > > > + assert((((int)block) & 15) == 0);
> > >
> > > Are you sure this works? I see no way of aligning anything on the
> > > x86 stack for more than 8. And even that is kind of iffy, given
> > > that the x86 ABI mandates an alignment of 4.
>
> The de facto ABI on current Linux is 16 byte stack alignment. On OS X
> the 16 byte alignment requirement has been in the official ABI from the
> start AFAIK.
Two things:
* that would be just TWO of platforms libavcodec supports.
* could you, please, send me a pointer to Mac OSX ABI
mandating 16 byte alignment ?
> I think the only sane way to work with the current gcc is to assume that
> the stack _will_ be 16-byte aligned inside FFmpeg.
I still think it is a dangerous assumption. And I still think if
the code relies on compiler magic that is clearly broken we shouldn't be
using it. But it isn't my call.
Thanks,
Roman.
More information about the ffmpeg-devel
mailing list