[Ffmpeg-devel] Re: [Ffmpeg-cvslog] r8420 - trunk/libavcodec/dv.c

Roman Shaposhnik rvs
Mon Mar 26 05:57:19 CEST 2007


On Mon, 2007-03-26 at 06:34 +0300, Uoti Urpala wrote:
> On Sun, 2007-03-25 at 18:34 -0500, Rich Felker wrote:
> > On Sun, Mar 25, 2007 at 03:40:22PM +0300, Uoti Urpala wrote:
> > > The de facto ABI on current Linux is 16 byte stack alignment.
> > 
> > De facto my ass. ANY i386 ELF or a.out .o file is usable on current
> > Linux, and may in fact be present. Just because no such objects come
> > with your latest fedora/gentoo/ubuntu/whatever doesn't mean that you
> > can pretend they don't exist.
> 
> Such files may exist somewhere. Trying to use them in various ways may
> or may not work. That doesn't really affect my point.

  Such files, for example, would be generated by gcc when you do -Os.

> >  You can't just make
> > nonportable assumptions based on what one OS does incestuously with
> > latest gcc.
> 
> It's more than "what one OS does". And I'm not assuming that just
> relying on stack alignment would work without problems everywhere. In
> the part of my message you snipped I explicitly talked about potential
> problems, most likely occurring when called by external programs on
> Windows. My point is that it's better to deal with those problems by
> ensuring stack alignment while running FFmpeg code (for example by using
> the gcc 4.2+ attributes, or clumsier ways with older compilers) 

  I don't understand it -- how can you "ensure stack alignment while
running FFmpeg code" by "using the gcc 4.2+ attributes" on a system
where all you have control over is just how the libavcodec.so or
libavcodec.dll is built ? 

  I'm genuinely curious. 

Thanks,
Roman.





More information about the ffmpeg-devel mailing list