GCC assumes that operator new never returns null, but throws an exception
instead. This is defined by the C++ standard, and thus ok. But we disable
exceptions with -fno-exceptions, so we break this assumption. GCC then goes
ahead and removes some of our nullptr checks. This flag removes the
assumption.
This adds ~1.4kB to the binary size of the px4fmu-v4 target.
This adds a a target `make eagle_default` to build both the POSIX and
the QURT side in one command. Also, it adds an upload target for both to
push the files over adb to the device. This doesn't just push the
executables and lib files, but also the startup config files.
Nuttx now gets to link phase. But there are two unresolved symbols:
arm-none-eabi/include/c++/4.7.4/bits/basic_string.h:1128: undefined reference to `std::string::assign(char const*, unsigned int)'
arm-none-eabi/include/c++/4.7.4/bits/stl_list.h:1534: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)'
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Switched to 7.2.10 since the Linux version of this is available.
Added -DHAS_C9X flag to fix isses with undefined math functions
when using hexagon-clang++.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Moved definitions of parameters into *params.c in each module.
This is used by the cmake file as a pattern for dependencies when
generating the parameters.xml file.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
The latest version of Eigen is required to build with the Hexagon
7.4 toolchain. Only certain C++11 features are supported and the
latest version if Eigen provides these tests. A patch is required
to add support for the Hexagon compiler.
These changes force the sync and then update of eigen and allow it
to be patched for qurt.
The eigen-3.2 submodule was removed as it is no longer needed by the
qurt build with the updated toolchain.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>