Segfault of __thread varaible in Linux/ARM due to bug of LLVM ARM code generation
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
LLVM |
Fix Released
|
Wishlist
|
|||
llvm (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
llvm-defaults (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
llvm-toolchain-3.6 (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
There are four thread local storage (TLS) models in Clang/LLVM as following:
1) global-dynamic TLS model
2) local-dynamic TLS model
3) local-exec TLS model
4) initial-exec TLS model
and emulated-TLS (for Android S/W platform)??
Even though, We can build run normally with the static relocation method by selecting the initial-exec TLS model instead of global-dynamic TLS model (by default) , We need to run the clang application code with global-dynamic (or local-dynamic) TLS model in order that we support some applications is working with dlopen(3) library call.
We have found the appropriate solution for some clang/LLVM applications including 1) __thread variables and 2) -O2/-O3 of the clang language. Could you apply this patch to Ubuntu 14.04 LTS and Ubuntu 16.04 LTS repository?
* LLVM: Revision 268662 (ARM: don't attempt to merge litpools referencing different PC-anchors.)
http://
https:/
https:/
Below is the mailing list discussed to fix this issue.
http://
http://
http://
http://
* Before r268662:
ubuntu@
Segmentation Fault
* After r268662:
ubuntu@
Hello!!! Welcome to .NET Core (CoreCLR) world.!!!
description: | updated |
Changed in llvm-defaults (Ubuntu): | |
status: | New → Confirmed |
no longer affects: | llvm-toolchain (Ubuntu) |
Changed in llvm: | |
importance: | Undecided → Unknown |
status: | Fix Committed → Unknown |
Changed in llvm: | |
importance: | Unknown → Wishlist |
status: | Unknown → Fix Released |
description: | updated |
Changed in llvm-defaults (Ubuntu): | |
status: | Confirmed → Fix Released |
Changed in llvm-toolchain-3.6 (Ubuntu): | |
status: | Confirmed → Fix Released |
Changed in llvm (Ubuntu): | |
status: | Confirmed → Fix Released |
Here is additional information.
Runtime (CoreCLR) of .NET Core is available at https:/ /github. com/dotnet/ coreclr.
Clang/LLVM3.6.2 (for Ubuntu 14.04 X64) binary that I re-compiled the existing Clang/LLVM is available at https:/ /onedrive. live.com/ redir?resid= C93799B86B00682 9!191&authkey= !AKb-qFmpFRUGDt M&ithint= file%2cbz