[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