[llvm-dev] [LLD] TLS tbss section discrepancy to gnu-ld

Noah Hütter via llvm-dev llvm-dev at lists.llvm.org
Sun Aug 1 02:15:41 PDT 2021


> The incorrect dot is related to ThreadBssOffset.
> 
> When location counter was implemented (during
> http://reviews.llvm.org/D18499 and rL282147 time), ThreadBssOffset was
> added to support multiple tbss sections.
> 
> This has limited support in ld.lld and isn't supported by GNU ld.
> 
> I sent https://reviews.llvm.org/D107208 to make __tbss_end = .; work.
> 
> Happy to back port it into 13.0.0

That is exactly what solved my problem, thanks! Happy to see this in 13.0.0.

@Joerg We (mis)use the TLS section for hardware threads in a cluster of
RISCV cores that executes a statically linked binary. The TLS allocation
is done by each hart at boot. The cluster doesn't have access to the ELF
but copies (t)data to its local memory. We don't have a loader nor
thread creation logic in that regard.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 495 bytes
Desc: OpenPGP digital signature
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210801/7e88cbf5/attachment.sig>


More information about the llvm-dev mailing list