Commit e1b2d5c
committed
tests/cryptoauthlib: blacklist native boards
Native boards fail to link due to an upstream bug in cryptoauthlib's
test infrastructure. The file build/pkg/cryptoauthlib/test/cmd-processor.c
has incorrect conditional compilation logic:
#if defined(_WIN32) || defined(__linux__) || defined(__APPLE__)
int main(int argc, char* argv[]) { ... }
#elif defined(RIOT_APPLICATION)
int atca_run_cmd(char *command, size_t len) { ... }
#endif
On native boards, __linux__ is defined, so the code compiles a main()
function instead of atca_run_cmd(). This conflicts with RIOT's main()
and causes linker errors:
- multiple definition of 'main'
- undefined reference to 'atca_run_cmd'
On ARM boards, none of these platform macros are defined, so the code
correctly falls through to the RIOT_APPLICATION branch and compiles
atca_run_cmd() instead.
The fix would require patching cryptoauthlib to check RIOT_APPLICATION
before checking platform macros, or reporting this upstream to Microchip.
Signed-off-by: Gilles DOFFE <[email protected]>1 parent 71a0dbc commit e1b2d5c
1 file changed
+7
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
11 | 18 | | |
12 | 19 | | |
13 | 20 | | |
| |||
0 commit comments