You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by GitBox <gi...@apache.org> on 2020/10/23 12:34:50 UTC

[GitHub] [incubator-nuttx] xiaoxiang781216 commented on pull request #1592: libxx: Integrate libc++ latest official release

xiaoxiang781216 commented on pull request #1592:
URL: https://github.com/apache/incubator-nuttx/pull/1592#issuecomment-715314018


   > @xiaoxiang781216
   > can you explain about libs/libxx/libxx_impure.cxx?
   
   _global_impure_ptr is used by libsupc++ to print error which normally provide by newlib but since NuttX has the builtin libc, we have to prvovide a dummy one.
   
   > for which configurations is it necessary?
   
   you can remove libxx_impure.cpp and try cxxtest in board/arm.
   
   > with what version of libsupc++ and reent.h?
   > 
   
   ```
   arm-none-eabi-gcc --version
   arm-none-eabi-gcc (GNU Tools for Arm Embedded Processors 9-2019-q4-major) 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599]
   ```
   
   > for me it's broken.
   > #2063 + a few esp32 patch.
   > xtensa/esp32, with ESP-IDF provided gcc/libsupc++. (esp-2020r3-8.4.0)
   > reverting this libxx_impure.cxx commit makes it builds.
   
   can it pass link?
   
   > 
   > ```
   > libxx_impure.cxx:58:50: error: conflicting declaration '_reent* const _global_impure_ptr'
   >     struct _reent *const __ATTRIBUTE_IMPURE_PTR__ _global_impure_ptr = &impure_data;
   >                                                   ^~~~~~~~~~~~~~~~~~
   > In file included from /Users/yamamoto/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/xtensa-esp32-elf/sys-include/reent.h:93,
   >                  from libxx_impure.cxx:27:
   > /Users/yamamoto/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/xtensa-esp32-elf/sys-include/sys/reent.h:778:24: note: previous declaration as '_reent* _global_impure_ptr'
   >  extern struct _reent * _global_impure_ptr __ATTRIBUTE_IMPURE_PTR__;
   >                         ^~~~~~~~~~~~~~~~~~
   > ```
   
   it seem that the latest newlib add const to _global_impure_ptr.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org