[llvm-bugs] [Bug 34056] New: Regression(r304267): clang miscompiles chrome on arm32
via llvm-bugs
llvm-bugs at lists.llvm.org
Thu Aug 3 14:40:06 PDT 2017
https://bugs.llvm.org/show_bug.cgi?id=34056
Bug ID: 34056
Summary: Regression(r304267): clang miscompiles chrome on arm32
Product: libraries
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: enhancement
Priority: P
Component: Backend: ARM
Assignee: unassignedbugs at nondot.org
Reporter: nicolasweber at gmx.de
CC: llvm-bugs at lists.llvm.org
Chrome and all of its test binaries fail when built in a debug build on arm32.
We bisected this down to r304267.
https://bugs.chromium.org/p/chromium/issues/detail?id=742563#c15 has some
analysis on what's wrong. The file mentioned there is
https://cs.chromium.org/chromium/src/base/threading/thread_local_storage.cc?q=base/threading/thread_local_storage.cc&sq=package:chromium&dr&l=320
TlsVectorEntry* tls_data = static_cast<TlsVectorEntry*>(
PlatformThreadLocalStorage::GetTLSValue(
base::subtle::NoBarrier_Load(&g_native_tls_key)));
if (!tls_data)
tls_data = ConstructTlsVector();
DCHECK_NE(slot_, kInvalidSlotValue);
DCHECK_LT(slot_, kThreadLocalStorageSize);
tls_data[slot_].data = value;
tls_data[slot_].version = version_;
"First ThreadLocalStorage::StaticSlot::Set(void* value) gets called, then when
ThreadLocalStorage::StaticSlot::Get() is called later on, tls_data is null, and
ConstructTlsVector() is called again." (this is the bug)
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20170803/fa8c99c6/attachment-0001.html>
More information about the llvm-bugs
mailing list