optee: os: toolchains would include linux target macros likes __linux__

From: Randy Li
Date: Mon Dec 04 2023 - 08:47:33 EST


Hello

I wonder why Optee OS would use a linux target toolchains but not a bare metal target(none os)?

gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-gcc -dM -E - < /dev/null|grep linux
#define __linux 1
#define __gnu_linux__ 1
#define linux 1
#define __linux__ 1

That makes hard to share a header files between Linux kernel and Optee.  We like to pass some structure in SHM, but optee don't have all those Linux types likes <linux/types.h>.

If optee didn't choose the toolchains for the Linux, we could easily decide which part would use for Client Agent(Linux kernel) side or TEE OS side.

Why we don't use bare metal toolchains ?


Thank you

Randy Li