Mail Archives: cygwin/2009/07/14/15:44:28
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
- Raw text -