[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