From b663158cea2f68ed101f569a7fe08ddf7a7dfa32 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Thu, 27 Feb 2014 13:41:30 -0600 Subject: cosmetic changes to README files and comments --- misc/uClibc++/README.txt | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'misc/uClibc++/README.txt') diff --git a/misc/uClibc++/README.txt b/misc/uClibc++/README.txt index 3408919bf..c038d829e 100755 --- a/misc/uClibc++/README.txt +++ b/misc/uClibc++/README.txt @@ -20,6 +20,7 @@ Contents: o Building NuttX with uClibc++ o Callbacks o RGMP + o FAQ Installation of uClibc++ ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -180,3 +181,39 @@ Command to compile and run NUTTX: $ cd .. $ make $ rgmp_run + +FAQ +^^^ + +Collected from http://www.nuttx.org/doku.php?id=wiki:howtos:build-uclibcpp: + +Undefined reference to _impure_ptr +---------------------------------- +Problem: When building uClibc++ I encounter an undefined reference to +_impure_ptr like: + + LD: nuttx + .../arm-none-eabi/lib/armv7e-m\libsupc++.a(vterminate.o): In function + `__gnu_cxx::__verbose_terminate_handler()': + vterminate.cc:(.text._ZN9__gnu_cxx27__verbose_terminate_handlerEv+0xfc): + undefined reference to `_impure_ptr' + +Solution: No good solution is known. The following works, however: + +Locate Get the directory where you can find libsupc++: + + arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -print-file-name=libsupc++.a + +Go to that directory and save a copy of vterminate.o (in case you want to +restore it later): + + cd + arm-none-eabi-ar.exe -x libsupc++.a vterminate.o + +Then remove vterminate.o from the library. At build time, the uClibc++ +package will provide a usable replacement vterminate.o. + +Now NuttX should link with no problem. If you want to restore the +vterminate.o that you removed from libsupc++, you can do that with: + + arm-none-eabi-ar.exe rcs libsupc++.a vterminate.o -- cgit v1.2.3