[RTEMS Project] #2830: throwing std::runtime on PC BSP fails.
RTEMS trac
trac at rtems.org
Sat Sep 12 10:29:03 UTC 2020
#2830: throwing std::runtime on PC BSP fails.
-------------------------+----------------------------
Reporter: Chris Johns | Owner: Needs Funding
Type: defect | Status: assigned
Priority: normal | Milestone: Indefinite
Component: unspecified | Version: 5
Severity: normal | Resolution:
Keywords: | Blocked By:
Blocking: |
-------------------------+----------------------------
Comment (by Sebastian Huber):
Replying to [comment:5 Michael Davidsaver]:
> It's on exit from an catch(...){ block. The actual hang appears to be a
tight loop in the `__atomic_fetch_add_4` builtin. Specifically, these
three instructions.
>
> {{{
> => 0x3f1780 <libat_fetch_add_4>: mov $0x5,%eax
> 0x3f1785 <libat_fetch_add_4+5>: mov %eax,0xc(%esp)
> 0x3f1789 <libat_fetch_add_4+9>: jmp 0x3f1780
<libat_fetch_add_4>
> }}}
From this code it is clear, that this is a libatomic configuration issue
on i386. We have a recursive call here. We probably use instruction sets
which are not really tested these days by someone else.
--
Ticket URL: <http://devel.rtems.org/ticket/2830#comment:12>
RTEMS Project <http://www.rtems.org/>
RTEMS Project
More information about the bugs
mailing list