summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2019-08-20 06:01:57 +0300
committerKyösti Mälkki <kyosti.malkki@gmail.com>2019-08-26 20:56:29 +0000
commit117cf2bdcbbadb3b30c9c250130f82f5e6edc236 (patch)
treeb6b3ebea04e865439082118a2c5b90aec2f342c1 /src/include
parentf2cc52b694d610ffc4f1edc347bf38caec2e31b6 (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.h13
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__