Changes between Initial Version and Version 1 of Ticket #12430, comment 13
- Timestamp:
- Nov 9, 2015, 5:32:52 AM (8 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #12430, comment 13
initial v1 1 1 FYI, the change to the -shared flag being passed onto `ld` has broken Haiku's TLS support when building gcc4 on Haiku. 2 3 As a result of the changes, gcc generates R_386_TLS_TPOFF32 relocations in the configure test for TLS, instead of previously R_386_TLS_DTPMOD32 & R_386_TLS_DTPOFF32. Currently, runtime_loader doesn't support R_386_TLS_TPOFF32 relocations. Due to the failed test, libstdc++.so generates different symbols (e.g. no std::__once_call), which breaks apps that use TLS (WebPositive being one). 4 5 Example test: 6 {{{ 7 __thread int a; 8 int b; 9 int main() { 10 return a = b; 11 } 12 }}} 13 14 My only change to gcc/config/i386/haiku.h: `s/%{shared:-shared;/%{!r:-shared;/` which was enough to make TLS support work again, but obviously isn't ideal.