The particular compiler-specific definitions need to be defined for
SPM implementation since SPM has a minimal set of architecture
related operations (Such as assembler based context management).
Import definitions from platform implementations would be heavy while
forwarding these operations to platform implementation causes
spreading and duplicating.
Only the necessary compiler-specific are defined here, those C99
compatible definitions (such as 'inline', 'static' or 'external', etc)
would be referenced directly in sources. The implementation is
recommended to avoid special operations in SPM sources, such as
'weak', 'align' and 'noreturn', etc.