Can we enable TLS instead of using emutls?

Bug #1842725 reported by Keith Packard
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
GNU Arm Embedded Toolchain
New
Undecided
Unassigned

Bug Description

Version: gcc-arm-none-eabi-8-2019-q3-update-linux

I'm working on an embedded C library, picolibc, https://github.com/keith-packard/picolibc/. This is a fork of newlib which replaces stdio with much smaller code and replaces newlib's reent structure with TLS variables instead. This saves a pile of memory and eliminates the requirement for malloc, assuming the compiler has TLS support.

However, the provided binary packages for GNU Arm Embedded Toolchain are built with --disable-tls which causes the system to use emulated TLS instead, and that uses a lot of memory, is very slow and requires malloc.

I don't see any reason not to enable TLS support for the embedded toolchain; I've built the compiler with it enabled, built picolibc with the compiler and run the resulting code on a variety of devices.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.