4fe5ac9248
Compilers predefine system-specific macros which carry information about compiler, target architecture and operating system. It provides basic compiler-dependent information like size of types, their maximal and minimal values, etc. It allows to write common libc headers for multiple architectures and operating systems. These macros allow code to always determine what is the target operating system. This is a problem when compiling code of modules that supports multiple operating systems (e.g. cryptography libraries). To avoid confusion we shouldn't leak host operating system macros (e.g. __linux__, __linux, linux, etc.) when compiling for native_sim board. Unfortunately, there is no single universal switch that disables all operating system macros: - '-undef' removes also architecture-related macros - '--target' is only available for Clang compiler This patch uses '-include' option to include file that undefines all well-known operating system macros. Run 'gcc -dM -E - < /dev/null | sort' to get full list of predefined macros. Signed-off-by: Patryk Duda <patrykd@google.com> |
||
---|---|---|
.. | ||
arc | ||
arm | ||
arm64 | ||
common | ||
mips | ||
nios2 | ||
posix | ||
riscv | ||
sparc | ||
x86 | ||
xtensa | ||
archs.yml | ||
CMakeLists.txt | ||
Kconfig | ||
Kconfig.v1 | ||
Kconfig.v2 |