Possible tls bug on arm / microblaze

Sebastian Huber sebastian.huber at embedded-brains.de
Tue Jul 19 15:12:01 UTC 2022

On 19/07/2022 14:51, Sam Price wrote:
> On microblaze i was getting a
> ESR: Unaligned data access exception
> I narrowed this down to this "ti->offset;" being uninitialized in the 
> following two bsps
> https://git.rtems.org/rtems/tree/cpukit/score/cpu/microblaze/__tls_get_addr.c 
> <https://git.rtems.org/rtems/tree/cpukit/score/cpu/microblaze/__tls_get_addr.c>
> Also this file
> cpukit/score/cpu/arm/__tls_get_addr.c
> I tried recompiling with this on the microblaze build with offset being 
> renamed to offseta.
> This only caused a compilation error in the __tls_get_addr function.
> So I think this variable is being used without being initialized or ever 
> changed.
> Is it safe to just remove the offset variable?

No, it is not safe to remove the offset member. The offset member value 
is provided by the caller of __tls_get_addr(). You have to check that 
TLS_Index definition matches the GCC ABI. Do the sptls* tests run on 
your system?

embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
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:

More information about the devel mailing list