[vlc-devel] Re: Win32 implementation of mdate breaks for large values returned by QueryPerformanceCounter (suspected due to a buggy gcc optimization), causing video stream playback to fail on Windows systems with a large uptime

Rémi Denis-Courmont rem at videolan.org
Wed Jan 10 18:32:51 CET 2007


Le mardi 9 janvier 2007 06:30, Skywing a écrit :
> There's sign extension & data loss bug in the Win32 implementation of
> mdate (src\misc\mtime.c) that appears to be introduced by aggressive
> gcc optimizations.  I don't have a cygwin build environment
> installed, so I am just dropping a mail to explain the problem and
> what likely needs to be done to fix it.

Thanks for the thorough bug report.

Unfortunately, the badly-optimized double-division was precisely 
intended to avoid miscalculation with large values (as the comment 
notes anyway), which happens if the division is done in a single step. 
In other words, the previous implementation was really broken, and the 
new one is broken by gcc.

I feel I have wasted enough time on this already myself, to not take gcc 
bugs into account in addition, particularly while I do not even use 
Win32. Plus I do not have the necessary background to check for gcc 
bugs.

-- 
Rémi Denis-Courmont
http://www.remlab.net/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20070110/8dcca235/attachment.sig>


More information about the vlc-devel mailing list