From 117cf2bdcbbadb3b30c9c250130f82f5e6edc236 Mon Sep 17 00:00:00 2001 From: Kyösti Mälkki Date: Tue, 20 Aug 2019 06:01:57 +0300 Subject: Split MAYBE_STATIC to _BSS and _NONZERO variants MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-on: https://review.coreboot.org/c/coreboot/+/35003 Tested-by: build bot (Jenkins) Reviewed-by: Julius Werner --- src/include/stddef.h | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'src/include') 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__ -- cgit v1.2.3