[RTEMS Project] #2830: throwing std::runtime on PC BSP fails.
RTEMS trac
trac at rtems.org
Fri Sep 11 16:56:14 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 Michael Davidsaver):
I've not come across 'libatomic' before. I guess this is some
compatibility glue for older x86?
From some playing around, it looks like the toolchain gcc is defaulting to
'-march=i386' if no other option is provided. Maybe not surprising given
that the toolchain name is 'i386-rtems5'.
'<prefix>/make/custom/pc686.cfg' has '-mtune=pentiumpro -march=pentium'.
Passing this to a short test seems to result in the intrinsic actually
being used. So I guess the RTEMS kernel config/build is ok?
Starting from the linker map of epicsTimeTest, I see that the symbol
'__atomic_fetch_add_4' (aka. 'libat_fetch_add_4') is undefined in
'<prefix>/lib/gcc/i386-rtems5/7.5.0/mpentiumpro/libstdc++.a'. So I guess
this means that the (multilib?) build of libstdc++ is not being done
correctly?
My knowledge of GCC internals doesn't extend beyond ./configure arguments.
So I don't know where to look next.
--
Ticket URL: <http://devel.rtems.org/ticket/2830#comment:7>
RTEMS Project <http://www.rtems.org/>
RTEMS Project
More information about the bugs
mailing list