mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-25 13:24:46 +00:00
Fix initialization-order bug in llvm::Support::TimeValue. TimeValue::now() is explicitly called during module initialization of lib/Support/Process.cpp. It reads the field of global object PosixZeroTime, which is not guaranteed to be initialized at this point. Found by AddressSanitizer with -fsanitize=init-order option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175509 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -48,7 +48,8 @@ TimeValue TimeValue::now() {
|
||||
}
|
||||
|
||||
return TimeValue(
|
||||
static_cast<TimeValue::SecondsType>( the_time.tv_sec + PosixZeroTime.seconds_ ),
|
||||
static_cast<TimeValue::SecondsType>( the_time.tv_sec +
|
||||
PosixZeroTimeSeconds ),
|
||||
static_cast<TimeValue::NanoSecondsType>( the_time.tv_usec *
|
||||
NANOSECONDS_PER_MICROSECOND ) );
|
||||
}
|
||||
|
Reference in New Issue
Block a user