Issue created by Sebastian Huber: 
https://gitlab.rtems.org/rtems/rtos/rtems/-/work_items/5795



The interrupt handlers run with the exception level set in the status register. 
 An access to a thread-local object executes `rdhwr`, which raises the reserved 
instruction exception on processors without this instruction.  With the 
exception level set, the processor does not update the exception program 
counter.  The emulation of `rdhwr` then finds another instruction and the 
exception becomes fatal.

On `mips/malta`, `psxmsgq03` and `spintrcritical24` fail in this way, because 
their interrupt handlers set `errno`.  A Newlib built with 
`--enable-newlib-reent-thread-local` keeps `errno` in thread-local storage.

Found while running the full test suite on Qemu.  This description was created 
with Claude Code assistance.

-- 
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/work_items/5795
You're receiving this email because of your account on gitlab.rtems.org. 
Unsubscribe from this thread: 
https://gitlab.rtems.org/-/namespace/49/sent_notifications/5-f09ds7yrg8fo8o4a6k14hx83r-1d/unsubscribe
 | Manage all notifications: https://gitlab.rtems.org/-/profile/notifications | 
Help: https://gitlab.rtems.org/help


_______________________________________________
bugs mailing list
[email protected]
http://lists.rtems.org/mailman/listinfo/bugs

Reply via email to