[RTEMS Project] #2830: throwing std::runtime on PC BSP fails.

RTEMS trac trac at rtems.org
Mon Sep 21 19:43:58 UTC 2020


#2830: throwing std::runtime on PC BSP fails.
-------------------------+----------------------------
 Reporter:  Chris Johns  |       Owner:  Needs Funding
     Type:  defect       |      Status:  assigned
 Priority:  normal       |   Milestone:  5.2
Component:  tool/gcc     |     Version:  5
 Severity:  normal       |  Resolution:
 Keywords:               |  Blocked By:
 Blocking:               |
-------------------------+----------------------------
Changes (by Joel Sherrill):

 * component:  unspecified => tool/gcc
 * milestone:  Indefinite => 5.2


Old description:

> Throwing a `std::runtime()` exception locks up.
>
> The lock up is in the exception clean up handler where the exception
> object is destructed. The destructor loops distructing the std::string
> object. The path ends up in libstdc++-v3/include/ext/atomicity.h line 48
> or __exchange_and_add.
>
> At a guess it would seem like the C++ atomics on i386 is broken or
> fragile.

New description:

 Throwing a `std::runtime()` exception locks up.

 The lock up is in the exception clean up handler where the exception
 object is destructed. The destructor loops distructing the std::string
 object. The path ends up in libstdc++-v3/include/ext/atomicity.h line 48
 or __exchange_and_add.

 At a guess it would seem like the C++ atomics on i386 is broken or
 fragile.

 UPDATE: This was broken when gcc i386 eliminated -mcpu in favor of
 -march/-mtune. The multilibs were built with -mtune and not -march.

--

--
Ticket URL: <http://devel.rtems.org/ticket/2830#comment:19>
RTEMS Project <http://www.rtems.org/>
RTEMS Project


More information about the bugs mailing list