I am writing an event-based programming library for use on BeagleBone Black and have encountered a strange error.
When I compile the exact code with the same flags, I get the following errors on an ARM-based processor, but not when I run the code compiled for my x86 computer.
$ ./missionControl
pure virtual method called
pure virtual method called
pure virtual method called
terminate called recursively
terminate called recursively
Aborted
When I compile and run on my laptop, the program works correctly .
This is the command I use to compile (ish, I use Makefile, but both compilation methods show exactly the same behavior):
g++ -std=gnu++11 -pthread -O3 -D_GLIBCXX_USE_NANOSLEEP -o missionControl `find . -name *.cpp`
It doesn't matter if we cross-compile Ubuntu arm-linux-gnueabi-g++or ARM-compatible g++in real BeagleBone, I still get errors in ARM.
: , , ? , , g++?
!
backtrace ARM GDB:
Backtrace stopped: previous frame identical to this frame (corrupt stack?)