[RTEMS Project] #4920: libdl does not support TLS
RTEMS trac
trac at rtems.org
Mon Feb 19 03:48:29 UTC 2024
#4920: libdl does not support TLS
---------------------------+---------------------
Reporter: Chris Johns | Owner: (none)
Type: defect | Status: new
Priority: normal | Milestone: 6.1
Component: lib/dl | Version: 6
Severity: blocker | Resolution:
Keywords: qualification | Blocked By:
Blocking: |
---------------------------+---------------------
Comment (by Kinsey Moore):
Status update:
bfin, lm32, moxie:
Generated code uses emutls_get_address() to get the TLS base address. This
is not yet implemented by _CPU_Get_TLS_thread_pointer().
mips:
Generated code uses the rdhwr instruction. This instruction is not yet
used by _CPU_Get_TLS_thread_pointer() and, even if it were, RTEMS does not
support it. There is no known way to prevent gcc from using this
instruction to retrieve the TLS base address. This requires emulation of
this instruction by RTEMS kernel code, possibly using
RTEMS_EXCEPTION_EXENSIONS which are not yet available for this platform.
There are at least 3 subtasks required to get this working on mips:
* usage of rdhwr in _CPU_Get_TLS_thread_pointer()
* implementation of RTEMS_EXCEPTION_EXENSIONS or equivalent
* usage of the above to emulate rdhwr
v850:
Slated for removal as stated above, not considered.
or1k, sh, sparc64, x86_64:
These do not support dynamic loading and are not being considered for this
ticket.
aarch64, arm, i386, m68k, microblaze, nios2, powerpc, riscv, sparc:
_CPU_Get_TLS_thread_pointer() is implemented and expected to function
correctly.
--
Ticket URL: <http://devel.rtems.org/ticket/4920#comment:29>
RTEMS Project <http://www.rtems.org/>
RTEMS Project
More information about the bugs
mailing list