Thread local storage was already broken on Linux and the tests were passing because there was a dectorator:
@unittest2.expectedFailure("rdar://7796742") Which was covering up the fact this was failing on linux and hexagon. I added back a decorator so we don't break any build bots. llvm-svn: 274388
This commit is contained in:
parent
ff12edbff4
commit
c7bb34f6ec
|
@ -27,6 +27,7 @@ class TlsGlobalTestCase(TestBase):
|
|||
self.addTearDownHook(lambda: self.runCmd("settings remove target.env-vars " + self.dylibPath))
|
||||
|
||||
@skipIfWindows # TLS works differently on Windows, this would need to be implemented separately.
|
||||
@unittest2.expectedFailure("now works on Darwin, but not linux")
|
||||
def test(self):
|
||||
"""Test thread-local storage."""
|
||||
self.build()
|
||||
|
|
|
@ -688,5 +688,8 @@ DynamicLoaderHexagonDYLD::GetThreadLocalData(const lldb::ModuleSP module, const
|
|||
"module=%s, link_map=0x%" PRIx64 ", tp=0x%" PRIx64 ", modid=%i, tls_block=0x%" PRIx64,
|
||||
mod->GetObjectName().AsCString(""), link_map, tp, modid, tls_block);
|
||||
|
||||
return tls_block + tls_file_addr;
|
||||
if (tls_block == LLDB_INVALID_ADDRESS)
|
||||
return LLDB_INVALID_ADDRESS;
|
||||
else
|
||||
return tls_block + tls_file_addr;
|
||||
}
|
||||
|
|
|
@ -641,7 +641,10 @@ DynamicLoaderPOSIXDYLD::GetThreadLocalData(const lldb::ModuleSP module_sp, const
|
|||
"module=%s, link_map=0x%" PRIx64 ", tp=0x%" PRIx64 ", modid=%" PRId64 ", tls_block=0x%" PRIx64 "\n",
|
||||
module_sp->GetObjectName().AsCString(""), link_map, tp, (int64_t)modid, tls_block);
|
||||
|
||||
return tls_block + tls_file_addr;
|
||||
if (tls_block == LLDB_INVALID_ADDRESS)
|
||||
return LLDB_INVALID_ADDRESS;
|
||||
else
|
||||
return tls_block + tls_file_addr;
|
||||
}
|
||||
|
||||
void
|
||||
|
|
Loading…
Reference in New Issue