and remove the px4_ prefix, except for px4_config.h.
command to update includes:
for k in app.h atomic.h cli.h console_buffer.h defines.h getopt.h i2c.h init.h log.h micro_hal.h module.h module_params.h param.h param_macros.h posix.h sem.h sem.hpp shmem.h shutdown.h tasks.h time.h workqueue.h; do for i in $(grep -rl 'include <px4_'$k src platforms boards); do sed -i 's/#include <px4_'$k'/#include <px4_platform_common\/'$k/ $i; done; done
for in $(grep -rl 'include <px4_config.h' src platforms boards); do sed -i 's/#include <px4_config.h/#include <px4_platform_common\/px4_config.h'/ $i; done
Transitional headers for submodules are added (px4_{defines,log,time}.h)
building "make omnibus_f4sd_default" with gcc 8.2.1 failes with:
hardfault_log.c:315:7: error: 'strncat' specified bound 30 equals destination size
gcc8 introduced -Wstringop-truncation, which will warn about NULL terminator
truncation.
This patch fixes two similar issues:
- strncpy() makes no sense if we want to copy without NULL terminator
- strncat() needs space to append the NULL terminator
fixes#12283
The hardfault keeps track of the number of reboot without a
commit to disk. A commit to disk is the act of writing the
fault data from the bbsram to the hardfault file, not the
ulog file. The sucessful commit rearms the hardfault system.
When ulog appending was added it treated the lack of a ulog
file as an error. This prevented the hardfault_log reset
from being called because the hardfault_log commit returned
an error.
if hardfault_log check
then
if hardfault_log commit
then
hardfault_log reset
fi
fi
This change treats the lack a a ulog as a non error.
The error was:
Firmware/src/systemcmds/hardfault_log/hardfault_log.c:312:7: error: specified bound 30 equals the size of the destination [-Werror=stringop-overflow=]
strncat(marker, sp_name, sizeof(marker));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~