This website requires JavaScript.
Explore
Help
Register
Sign In
sergiotarxz
/
nuttx
Watch
1
Star
0
Fork
0
You've already forked nuttx
Code
Issues
Pull Requests
Releases
Wiki
Activity
30,231
Commits
1
Branch
0
Tags
291
MiB
7577dba2c3
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