Commit graph

7 commits

Author SHA1 Message Date
v-zhangxiaomeng5
1327ce5214 libcxxabi: enable LIBCXXABI_BAREMETAL
This fix forces libcxxabi to parse typeinfo ptr in absolute relocation instead of GOT-REL.

Signed-off-by: v-zhangxiaomeng5 <v-zhangxiaomeng5@xiaomi.com>
2026-01-14 09:38:22 +08:00
v-zhangxiaomeng5
594e32c384 libcxxabi: support for Infineon TASKING compiler
This commit contains:
1) excluding c++ exception relevant cpp files
2) excluding compile options tasking doesn't support

Signed-off-by: v-zhangxiaomeng5 <v-zhangxiaomeng5@xiaomi.com>
2026-01-14 09:38:22 +08:00
cuiziwei
bb64889bef libcxxabi: remove gcc's libsupc++ from cmake/make scripts.
Both libcxxabi and libsupc++ implementat Itanium C++ ABI layer, just pick one.

Signed-off-by: cuiziwei <cuiziwei@xiaomi.com>
2026-01-14 09:38:22 +08:00
wangmingrong1
f27f501365 libxxabi: remove redefinition in cmake/make scripts for clang
The clang unwind.h file already defines these macros:
_URC_FATAL_PHASE2_ERROR = _URC_FAILURE
_URC_FATAL_PHASE1_ERROR = _URC_FAILURE

Signed-off-by: wangmingrong1 <wangmingrong1@xiaomi.com>
2026-01-14 09:38:22 +08:00
cuiziwei
ae5c7a7fd8 libcxxabi: Soft link the libcxxabi header file to nuttx/include.
Signed-off-by: cuiziwei <cuiziwei@xiaomi.com>
2024-12-05 21:56:23 +08:00
haopengxiang
5ffdf5b264 cmake(bugfix):fix libcxxabi layout build error
/home/data/vela/github/nuttx/libs/libxx/libcxxabi/libcxxabi/src/cxa_exception.h:47:10: error: 'unexpected_handler' in namespace 'std' does not name a type
   47 |     std::unexpected_handler unexpectedHandler;
      |          ^~~~~~~~~~~~~~~~~~
/home/data/vela/github/nuttx/libs/libxx/libcxxabi/libcxxabi/src/cxa_exception.h:85:10: error: 'unexpected_handler' in namespace 'std' does not name a type
   85 |     std::unexpected_handler unexpectedHandler;
      |          ^~~~~~~~~~~~~~~~~~
/home/data/vela/github/nuttx/libs/libxx/libcxxabi/libcxxabi/src/cxa_exception.h:121:65: error: static assertion failed: propagationCount has wrong negative offset
  121 |                       sizeof(_Unwind_Exception) + sizeof(void*) ==
      |                                                                 ^
/home/data/vela/github/nuttx/libs/libxx/libcxxabi/libcxxabi/src/cxa_exception.h:121:65: note: the comparison reduces to '(124 == 128)'
/home/data/vela/github/nuttx/libs/libxx/libcxxabi/libcxxabi/src/cxa_exception.h:125:65: error: static assertion failed: propagationCount has wrong negative offset
  125 |                       sizeof(_Unwind_Exception) + sizeof(void*) ==
      |

/home/data/vela/github/nuttx/libs/libxx/libcxxabi/libcxxabi/src/cxa_default_handlers.cpp:20:10: fatal error: include/atomic_support.h: No such file or directory
   20 | #include "include/atomic_support.h" // from libc++
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

Signed-off-by: xuxin19 <xuxin19@xiaomi.com>
2024-11-14 19:39:38 +08:00
wangmingrong1
db31e56957 libxx: All cxx libraries move down one level
Since there are some patches that need to be loaded manually, the original method is rather confusing. Now these patches that need to be loaded manually are classified into various cxx library folders, and each dynamically downloaded cxx library is moved down one directory to make the directory structure clearer.

Signed-off-by: wangmingrong1 <wangmingrong1@xiaomi.com>
2024-11-08 01:50:37 +08:00