Am 29.05.2013 09:39, schrieb Tim Besard: > Package: libstdc++6 > Version: 4.8.0-8 > Severity: important > > Dear Maintainer, > > Attached test case gets the current system time using std::chrono and using > gettimeofday, both with millisecond precision. Using libstdc++6 version > 4.8.0-7, > this code works properly, both timestamps being identical. However, since > upgrading to 4.8.0-8, the std::chrono version reports a timestamp in seconds > despite the explicit duration_case to milliseconds, when compiling with GCC > 4.6 > or 4.7. Using libstdc++6 4.8.0-8 with GCC 4.8 results in correct output.
apparently this is because we configure with --enable-libstdcxx-time=yes. Have to find out why we did enable that in the past (likely a feature request), but it looks like this dates back to 4.5.x. see the thread starting at http://gcc.gnu.org/ml/libstdc++/2013-05/msg00080.html The entry points when configured with --enable-libstdcxx-time=yes were ABI incompatible with the standard configuration, without different mangling, and now are corrected. Anything referencing _ZNSt6chrono12system_clock3nowEv _ZNSt6chrono12steady_clock3nowEv compiled with our gcc's before 4.8.0-8 needs to be rebuilt :-/ The former symbol has different ABI in standard compilation, the latter one was missing in standard configuration and only present in --enable-libstdcxx-time={yes,rt}; the latter symbol is gone, and there are 4 new symbols instead. The new symbols have all always nanosecond precision, independently on whether they are steady or not actually, but on Linux steady_clock should be now really steady unless you use prehistoric kernels. So first lets see which packages are affected, then decide how to address this (currently searching the Ubuntu archive for these symbols, lacking the resources to do that for the Debian archive). You only see this in c++0x/c++11 mode, so this should be a somehow limited list of packages (and the c++11 support in all released GCC versions is still marked as experimental). I'd like to avoid renaming the libstdc++6 package if possible. As long as 4.6 and 4.7 are still in the archive, I'll rebuild these without the --enable-libstdcxx-time option, and then rebuild all packages found in my package search. I think this is best way to limit the damage. Matthias -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org