The function is indeed defined twice (not just typedefed inthe header and then defined elsewhere):
seatest.h:
void (*seatest_simple_test_result)(int passed, char* reason, const char* function, unsigned int line);
The simplest way to do it is build with -fcommon so multiple definitions are not an error. This was the default in gcc9, but gcc10 has -fno-common as the default.
The default for what happens when you have multiple definitions of a function has changed between GCC9 and GCC10 so NE10 fails to build on GCC10 with:
This debian bug covers the issue: https://bugs.debian.org/987643
The function is indeed defined twice (not just typedefed inthe header and then defined elsewhere): seatest.h:
void (*seatest_simple_test_result)(int passed, char* reason, const char* function, unsigned int line);
seatest.c:
void (*seatest_simple_test_result)(int passed, char* reason, const char* function, unsigned int line) = seatest_simple_test_result_log;
The simplest way to do it is build with -fcommon so multiple definitions are not an error. This was the default in gcc9, but gcc10 has -fno-common as the default.
I used this patch: