This website requires JavaScript.
Explore
Help
Sign In
OrgApache
/
incubator-nuttx
mirror of
https://github.com/apache/incubator-nuttx.git
Watch
1
Star
0
Fork
You've already forked incubator-nuttx
0
Code
Issues
Releases
Wiki
Activity
30,243
Commits
18
Branches
185
Tags
383
MiB
6e680bb967
Commit Graph
3 Commits
Author
SHA1
Message
Date
Jim Paris
4504ca7c82
Whoops -- that #include <cxxabi.h> wasn't supposed to sneak in there. If present, it may already define a __cxxabiv1::__guard that we could use, but that file comes from libstdc++, and I don't think the NuttX buildroot-based toolchain would have that, which is why we need libxx in the first place.
2017-06-09 07:40:31 -06:00
Jim Paris
18289e17ce
Fix C++ __guard implementation for ARM. The standard C++ ABI that most platforms follow defines __guard to be 64 bits. The existing implementation of libxx_cxa_guard.cxx follows this. However, the 32-bit ARM C++ ABI defines it as 32 bits instead, and changes the meaning slightly so only the lowest bit is used. This matters because GCC creates guard symbols without regards to what libxx_cxa_guard.cxx says. So on ARM, gcc allocates 4 bytes, but __cxa_guard_release writes 8 bytes, zeroing out another unlucky variable nearby. Fix it by special-casing 32-bit ARM in libxx_cxa_guard.
2017-06-09 07:16:00 -06:00
Paul A. Patience
d803b64f6b
libxx: Add __cxa_guard_acquire, __cxa_guard_release and __cxa_guard_abort
2015-10-06 13:12:20 -04:00