[gcc] Enable TLS support for RTEMS in libstdc++

Sebastian Huber sebastian.huber at embedded-brains.de
Thu Jun 9 14:08:30 UTC 2022



On 09/06/2022 15:58, Joel Sherrill wrote:
> 
> 
> On Thu, Jun 9, 2022 at 2:12 AM Chris Johns <chrisj at rtems.org 
> <mailto:chrisj at rtems.org>> wrote:
> 
>     On 9/6/2022 4:16 pm, Sebastian Huber wrote:
>      > On 08/06/2022 16:18, Sebastian Huber wrote:
>      >> On 08/06/2022 16:11, Joel Sherrill wrote:
>      >>> On Wed, Jun 8, 2022 at 8:47 AM Sebastian Huber
>      >>> <sebastian.huber at embedded-brains.de
>     <mailto:sebastian.huber at embedded-brains.de>
>      >>> <mailto:sebastian.huber at embedded-brains.de
>     <mailto:sebastian.huber at embedded-brains.de>>> wrote:
>      >>>
>      >>>     On 08/06/2022 15:39, Joel Sherrill wrote:
>      >>>      > Is TLS actually supported on all targets except MIPS?
>      >>>
>      >>>     I only added MIPS since this target has a fundamental issue
>     with the
>      >>>     TLS
>      >>>     support.
>      >>>
>      >>>     Which target would you also exclude?
>      >>>
>      >>> About half of them.
>      >>
>      >> It seems to be only bfin, lm32, moxie, or1k, and v850. Are these
>     targets still
>      >> in use? Do we have a maintainer for these targets?
>      >
>      > How do we want to proceed here? Add them to the exclude list in
>     the GCC
>      > configuration, or encourage current or future users of these
>     targets to add the
>      > TLS support so that they can use state of the art C++ support?
>     The initial TLS
>      > support for RTEMS was added in 2013, so this is not really brand
>     new technology.
> 
>     I think we should support TLS in C++ for the targets we know work
>     and any others
>     can use the eh_globals support. It does work and works OK with POSIX
>     keys.
> 
>     How we document this is probability a more pressing question? I
>     cannot see any
>     language specific areas in the User or Classic API manuals.
> 
> 
> I thought there were tickets for this.
> 
> NIOS II - https://devel.rtems.org/ticket/4214 
> <https://devel.rtems.org/ticket/4214>
> 
> I also thought I had written up a master list of this at one point. I 
> can't find more
> than the above. But it should have been close to above.
> 
> There isn't a good place in the Classic API Guide for this and I am not sure
> where it would go in the User Guide. There are a few features which are not
> supported on all architectures -- TLS, SMP, and paravirtualization come to
> mind. Distributed multiprocessing is supported but only a few BSPs 
> support it.
> 
> The CPU Supplement has a section for each port on Thread Local Storage.
> My first cut suggestion would be to ensure each port has a section that it
> is or is not supported. If it isn't supported, link to a ticket specific 
> to that
> architecture with keyword TLS. Copy the ticket contents for each 
> architecture
> and make sure update the CPU Supplement is part of it.
> 
> Is there anywhere else it would not get lost?

There is also a foot note in the user manual:

https://docs.rtems.org/branches/master/user/overview/index.html#id11

-- 
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.huber at embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/


More information about the devel mailing list