Commit dfa6c240 authored by ramiro's avatar ramiro

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.


git-svn-id: file:///var/local/repositories/ffmpeg/trunk@18501 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 9c2ccc03
......@@ -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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment