Skip to content

Commit

Permalink
libxx:fix build error when enable LIBCXXTOOLCHAIN
Browse files Browse the repository at this point in the history
Summary:
  P:➜  nuttx git:(4cec713) LC_ALL=C make
CC:  chip/stm32_gpio.c chip/stm32_gpio.c:41:11: note: '#pragma message: CONFIG_STM32_USE_LEGACY_PINMAP will be deprecated migrate board.h see tools/stm32_pinmap_tool.py'
   41 | #  pragma message "CONFIG_STM32_USE_LEGACY_PINMAP will be deprecated migrate board.h see tools/stm32_pinmap_tool.py"
      |           ^~~~~~~
CXX:  libcxxmini/libxx_new.cxx libcxxmini/libxx_new.cxx:72:11: error: redefinition of 'void* operator new(std::size_t, void*)'
   72 | FAR void *operator new(std::size_t nbytes, FAR void *ptr)
      |           ^~~~~~~~
In file included from /usr/include/newlib/c++/13.2.1/bits/atomic_base.h:36,
                 from /usr/include/newlib/c++/13.2.1/atomic:41,
                 from /home/leduc/wdc_workspace/src/autre/nuttx_dev/nuttx/include/nuttx/atomic.h:32,
                 from /home/leduc/wdc_workspace/src/autre/nuttx_dev/nuttx/include/nuttx/fs/fs.h:38,
                 from /home/leduc/wdc_workspace/src/autre/nuttx_dev/nuttx/include/nuttx/lib/lib.h:30,
                 from libcxxmini/libxx_new.cxx:29:
/usr/include/newlib/c++/13.2.1/new:174:33: note: 'void* operator new(std::size_t, void*)' previously defined here
  174 | _GLIBCXX_NODISCARD inline void* operator new(std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT
      |                                 ^~~~~~~~
make[1]: *** [Makefile:69: libxx_new.o] Error 1
make: *** [tools/LibTargets.mk:216: libs/libxx/libxx.a] Error 2

Signed-off-by: chenrun1 <chenrun1@xiaomi.com>
  • Loading branch information
crafcat7 authored and xiaoxiang781216 committed Sep 27, 2024
1 parent 0e8cf38 commit 0d46c68
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 3 deletions.
2 changes: 1 addition & 1 deletion libs/libxx/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ if(CONFIG_HAVE_CXX)
include(uClibc++.cmake)
elseif(CONFIG_LIBCXX)
include(libcxx.cmake)
else()
elseif(CONFIG_LIBCXXMINI)
include(libcxxmini.cmake)
endif()

Expand Down
5 changes: 3 additions & 2 deletions libs/libxx/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,13 @@ ifeq ($(CONFIG_UCLIBCXX),y)
include uClibc++.defs
else ifeq ($(CONFIG_LIBCXX),y)
include libcxx.defs
else
else ifeq ($(CONFIG_LIBCXXMINI),y)
include libcxxmini.defs
endif

ifeq ($(CONFIG_ETL),y)
include etl.defs
endif
endif

ifeq ($(CONFIG_LIBCXXABI),y)
include libcxxabi.defs
Expand Down

0 comments on commit 0d46c68

Please sign in to comment.