diff options
-rw-r--r-- | apps/nshlib/nsh_proccmds.c | 2 | ||||
-rwxr-xr-x | misc/uClibc++/README.txt | 37 | ||||
-rw-r--r-- | nuttx/include/cxx/cstdio | 1 |
3 files changed, 39 insertions, 1 deletions
diff --git a/apps/nshlib/nsh_proccmds.c b/apps/nshlib/nsh_proccmds.c index 4b92abf9b..35010a8ac 100644 --- a/apps/nshlib/nsh_proccmds.c +++ b/apps/nshlib/nsh_proccmds.c @@ -117,7 +117,7 @@ static const char *g_ttypenames[4] = ****************************************************************************/ /**************************************************************************** - * Name: loadavg + * Name: readfile ****************************************************************************/ #ifdef HAVE_CPULOAD 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 <the-directory-containing-libsupc++.a> + 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 diff --git a/nuttx/include/cxx/cstdio b/nuttx/include/cxx/cstdio index ff64f5919..1b31adb2b 100644 --- a/nuttx/include/cxx/cstdio +++ b/nuttx/include/cxx/cstdio @@ -94,3 +94,4 @@ namespace std } #endif // __INCLUDE_CXX_CSTDIO + |