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: unassignedb...@nondot.org
Reporter: nicolaswe...@gmx.de
CC: llvm-bugs@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.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs