This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gcc4: ffmpeg vs. -freorder-functions


On 14/07/2009 11:47, Dave Korn wrote:
   ffmpeg is one thing that's likely to suffer from the COMMON alignment
problem very badly, to the extent that I used it as a testcase when I
developed the support for the new feature, and I have a nicely working version
on my PC:

Without support for aligned common data it was falling down badly.

I did get that tidbit out of PR37216, to which you referred earlier. But the cases fixed by -fno-common so far (and when it rains, it pours; I've had a few more since) have all suffering from segfaults during execution, unlike ffmpeg where the initialization itself failed.


   This isn't always an effective debugging technique; the -On settings don't
actually strictly correspond to combinations of the -f flags, and even when
you have tracked down an option that seems to make a difference, you don't
know whether it's actually anything to do with the optimisation that you're
tweaking, or some epiphenomenal side-effect.  In this case, I suspect the
latter; changing the ordering of functions within the executable will have a
knock on effect on the order with which other symbols get dragged into the
link and the order in which commons are allocated, for example.

FWIW, I originally verified this with both -O1 -feverything-except-reorder-functions and -O[23] -fno-reorder-functions.


   I currently have three full gcc testruns going simultaneously and am short
of CPU cycles, so it'll be a while before I can try it.  You could check if
the problem is caused by unaligned variables by either 1) seeing if adding
"-fno-common" to the CFLAGS fixes the broken executables,

I eliminated that as a solution earlier on. (I did end up adding it once I re-enabled the usual features, as I was getting segfaults with WMA/WMV files, but not with MP3s, but that seems to be independent of this issue.)


Of course it could be an entirely new and interesting bug. We'll see.

If you have a working version without this, it's very possible that has been fixed in the newer versions of binutils or gcc which you are running. (I'm still running gcc-4.3.2-2 with binutils-2.19.51-1, but I had the bug with 20080624-2 as well.)



Yaakov


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]