[FFmpeg-cvslog] r18501 - trunk/configure

Michael Kostylev michael.kostylev
Tue Apr 14 20:59:52 CEST 2009


At Tue, 14 Apr 2009 16:09:04 +0100,
M?ns Rullg?rd wrote:

 >>> Log:
 >>> win32, dos: Work around a bug in the GNU toolchain.
 >>> The bug[1] is exposed when gcc decides to put some data in a common
 >>> section (i.e. data that will be used by more than one object). It will
 >>> suggest the data to be aligned, but binutils >= 2.19 will fail to
 >>> properly align it. Thus if the data requires any alignment greater
 >>> than 4, the application will crash.
 >>> The workaround prevents gcc from putting data in a common section,
 >>> instead putting it in a properly aligned section.
 >> There is a much better way to get the necessary alignment on dos, 
 >> the binutils version doesn't matter at all.
 > Please enlighten us.

Gcc is configured to use an external linker script (djgpp.djl) coming
with libc, fixing djgpp.djl is enough.

 >>>      *-dos|freedos|opendos)
 >>>          disable ffplay ffserver
 >>> @@ -1659,6 +1661,7 @@ case $target_os in
 >>>          network_extralibs="-lsocket"
 >>>          objformat="coff"
 >>>          enable dos_paths
 >>> +        check_cflags -fno-common
 >>
 >> My FATE machine works almost perfectly (253/254) without that.
 > What fails?

Currently - dosemu, IIUC.
Even `touch x:/src/fate/build/tests/data/b-lavf-monow.yuv' after
`make test' doesn't work.

 >> OTOH -U__STRICT_ANSI__ is really needed but for a different reason.
 > WTF?

The system headers contain a bunch of the __STRICT_ANSI__ ifdefery,
e.g. errno.h:
...
#ifndef __STRICT_ANSI__

#define E2BIG           3
#define EACCES          4
#define EAGAIN          5
...

Btw, such uncommon values are a reason why seektest fails.

Michael



More information about the ffmpeg-cvslog mailing list