diff options
author | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2019-08-20 06:01:57 +0300 |
---|---|---|
committer | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2019-08-26 20:56:29 +0000 |
commit | 117cf2bdcbbadb3b30c9c250130f82f5e6edc236 (patch) | |
tree | b6b3ebea04e865439082118a2c5b90aec2f342c1 /src/include | |
parent | f2cc52b694d610ffc4f1edc347bf38caec2e31b6 (diff) |
Split MAYBE_STATIC to _BSS and _NONZERO variants
These are required to cover the absensce of .data and
.bss sections in some programs, most notably ARCH_X86
in execute-in-place with cache-as-ram.
Change-Id: I80485ebac94b88c5864a949b17ad1dccdfda6a40
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/35003
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/stddef.h | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/include/stddef.h b/src/include/stddef.h index 7cae2e6dc8..a2c9c50cd2 100644 --- a/src/include/stddef.h +++ b/src/include/stddef.h @@ -35,11 +35,16 @@ typedef unsigned int wint_t; #define DEVTREE_CONST #endif -/* Work around non-writable data segment in execute-in-place romstage on x86. */ -#if defined(__PRE_RAM__) && CONFIG(ARCH_X86) -#define MAYBE_STATIC +#if ENV_STAGE_HAS_DATA_SECTION +#define MAYBE_STATIC_NONZERO static #else -#define MAYBE_STATIC static +#define MAYBE_STATIC_NONZERO +#endif + +#if ENV_STAGE_HAS_BSS_SECTION +#define MAYBE_STATIC_BSS static +#else +#define MAYBE_STATIC_BSS #endif #ifndef __ROMCC__ |