diff options
author | Ramiro Polla <ramiro.polla@gmail.com> | 2009-04-13 22:54:21 +0000 |
---|---|---|
committer | Ramiro Polla <ramiro.polla@gmail.com> | 2009-04-13 22:54:21 +0000 |
commit | 1894e741f5a0cbc0818b0acbe0f7e45a22ab9107 (patch) | |
tree | d08bf7c98e1c4f2326616be7a461339e2c53889b /configure | |
parent | c573eb85f0eab01cd6001acfb89dc4a6725684dd (diff) | |
download | ffmpeg-1894e741f5a0cbc0818b0acbe0f7e45a22ab9107.tar.gz |
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.
[1] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37216
Originally committed as revision 18501 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -1634,6 +1634,7 @@ case $target_os in SHFLAGS='-shared -Wl,--output-def,$$(@:$(SLIBSUF)=.def) -Wl,--out-implib,$(SUBDIR)lib$(SLIBNAME:$(SLIBSUF)=.dll.a) -Wl,--enable-runtime-pseudo-reloc -Wl,--enable-auto-image-base' objformat="win32" enable dos_paths + check_cflags -fno-common if ! enabled x86_64; then check_cpp_condition _mingw.h "(__MINGW32_MAJOR_VERSION > 3) || (__MINGW32_MAJOR_VERSION == 3 && __MINGW32_MINOR_VERSION >= 15)" || die "ERROR: MinGW runtime version must be >= 3.15." @@ -1652,6 +1653,7 @@ case $target_os in SHFLAGS='-shared -Wl,--enable-auto-image-base' objformat="win32" enable dos_paths + check_cflags -fno-common ;; *-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 ;; linux) enable dv1394 |