summaryrefslogtreecommitdiff
path: root/src/arch
diff options
context:
space:
mode:
authorJulius Werner <jwerner@chromium.org>2020-08-25 16:00:44 -0700
committerJulius Werner <jwerner@chromium.org>2020-08-27 22:11:17 +0000
commit644a512e560147324ecf74ebce5e336bc57dd7bf (patch)
treeec9e63ea2fee79fb2be723568b4208fdcd35140a /src/arch
parent8cc80d5e50c9382fb04041d7af9c1b59bba0184f (diff)
downloadcoreboot-644a512e560147324ecf74ebce5e336bc57dd7bf.tar.xz
symbols: Change implementation details of DECLARE_OPTIONAL_REGION()
It seems that GCC's LTO doesn't like the way we implement DECLARE_OPTIONAL_REGION(). This patch changes it so that rather than having a normal DECLARE_REGION() in <symbols.h> and then an extra DECLARE_OPTIONAL_REGION() in the C file using it, you just say DECLARE_OPTIONAL_REGION() directly in <symbols.h> (in place and instead of the usual DECLARE_REGION()). This basically looks the same way in the resulting object file but somehow LTO seems to like it better. Signed-off-by: Julius Werner <jwerner@chromium.org> Change-Id: I6096207b311d70c8e9956cd9406bec45be04a4a2 Reviewed-on: https://review.coreboot.org/c/coreboot/+/44791 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Jacob Garber <jgarber1@ualberta.ca> Reviewed-by: Hung-Te Lin <hungte@chromium.org> Reviewed-by: HAOUAS Elyes <ehaouas@noos.fr>
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/arm/armv7/mmu.c3
-rw-r--r--src/arch/arm/tables.c2
-rw-r--r--src/arch/arm64/tables.c2
-rw-r--r--src/arch/riscv/tables.c2
4 files changed, 0 insertions, 9 deletions
diff --git a/src/arch/arm/armv7/mmu.c b/src/arch/arm/armv7/mmu.c
index 51b4860768..66ce53392d 100644
--- a/src/arch/arm/armv7/mmu.c
+++ b/src/arch/arm/armv7/mmu.c
@@ -87,9 +87,6 @@ typedef uint32_t pte_t;
static pte_t *const ttb_buff = (void *)_ttb;
-/* Not all boards want to use subtables and declare them in memlayout.ld. */
-DECLARE_OPTIONAL_REGION(ttb_subtables);
-
static struct {
pte_t value;
const char *name;
diff --git a/src/arch/arm/tables.c b/src/arch/arm/tables.c
index 3b47a5bf0c..0c68fc7c51 100644
--- a/src/arch/arm/tables.c
+++ b/src/arch/arm/tables.c
@@ -11,8 +11,6 @@ void arch_write_tables(uintptr_t coreboot_table)
void bootmem_arch_add_ranges(void)
{
- DECLARE_OPTIONAL_REGION(ttb_subtables);
-
bootmem_add_range((uintptr_t)_ttb, REGION_SIZE(ttb), BM_MEM_RAMSTAGE);
bootmem_add_range((uintptr_t)_ttb_subtables, REGION_SIZE(ttb_subtables),
BM_MEM_RAMSTAGE);
diff --git a/src/arch/arm64/tables.c b/src/arch/arm64/tables.c
index 321d348602..b97297c1b9 100644
--- a/src/arch/arm64/tables.c
+++ b/src/arch/arm64/tables.c
@@ -5,8 +5,6 @@
#include <boot/coreboot_tables.h>
#include <symbols.h>
-DECLARE_OPTIONAL_REGION(bl31);
-
void arch_write_tables(uintptr_t coreboot_table)
{
}
diff --git a/src/arch/riscv/tables.c b/src/arch/riscv/tables.c
index 4935ef5ece..9fc75f455c 100644
--- a/src/arch/riscv/tables.c
+++ b/src/arch/riscv/tables.c
@@ -5,8 +5,6 @@
#include <boot/coreboot_tables.h>
#include <symbols.h>
-DECLARE_OPTIONAL_REGION(opensbi);
-
void arch_write_tables(uintptr_t coreboot_table)
{
}