public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* LD_AUDIT: Not enough space in static TLS block
@ 2022-04-11 20:24 Jonathon Anderson
  2022-04-12  7:44 ` Florian Weimer
  0 siblings, 1 reply; 7+ messages in thread
From: Jonathon Anderson @ 2022-04-11 20:24 UTC (permalink / raw)
  To: Carlos O'Donell, Florian Weimer, Ben Woodard,
	Adhemerval Zanella, Legendre, Matthew P.
  Cc: libc-alpha, John Mellor-Crummey

Hello all,

We (the HPCToolkit team) have encountered another critical LD_AUDIT bug. 
When LD_AUDIT is specified, the allocation of the static TLS block does 
not account for the TLS requirements of executable dependencies or of 
the auditors themselves. If:
  - an executable accesses a thread-local variable in a linked library 
with sufficiently large TLS requirements, or
  - an auditor itself uses sufficiently large TLS and optimizes access 
with `-ftls-model=initial-exec`,

then the process or auditor will fail with the error "cannot allocate 
memory in static TLS block."

This is a critical issue for us. We have observed this issue affecting 
RAJA, a template-based library for efficient parallel computation and 
widely-used among HPC applications. It would help us greatly if this 
issue was fixed for 2.36 and backported along with the other 
LD_AUDIT-related patches.

We have added this issue and a minimal reproducer to our document of 
auditor bugs: 
https://docs.google.com/document/d/1dVaDBdzySecxQqD6hLLzDrEF18M1UtjDna9gL5BWWI0

-Jonathon

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-05-11 17:31 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-11 20:24 LD_AUDIT: Not enough space in static TLS block Jonathon Anderson
2022-04-12  7:44 ` Florian Weimer
2022-05-03  7:22   ` Florian Weimer
2022-05-05 17:30     ` Florian Weimer
2022-05-05 19:56       ` Jonathon Anderson
2022-05-11 13:59         ` Florian Weimer
2022-05-11 17:31           ` Jonathon Anderson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).