Can we enable TLS instead of using emutls?

Bug #1842725 reported by Keith Packard on 2019-09-04
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
GNU Arm Embedded Toolchain
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  Edit
Everyone can see this information.

Other bug subscribers