[PATCH 03/24] sandbox: Bring back setting mon_len in global_data

Simon Glass sjg at chromium.org
Sun Jan 15 22:15:40 CET 2023


This change was made for the benefit of RISC-V but broke other
architectures also. In particular, tracing cannot work without this value.
Add it back for architectures which support it.

Fixes: 3c9fc23c443 ("sandbox: don't refer to symbol _init")
Signed-off-by: Simon Glass <sjg at chromium.org>
---

 common/board_f.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/common/board_f.c b/common/board_f.c
index 2b4edf30c93..f3c1ab53b1c 100644
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -290,7 +290,10 @@ static int setup_mon_len(void)
 {
 #if defined(__ARM__) || defined(__MICROBLAZE__)
 	gd->mon_len = (ulong)&__bss_end - (ulong)_start;
+#elif defined(CONFIG_SANDBOX) && !defined(__riscv)
+	gd->mon_len = (ulong)&_end - (ulong)_init;
 #elif defined(CONFIG_SANDBOX)
+	/* gcc does not provide _init in crti.o on RISC-V */
 	gd->mon_len = 0;
 #elif defined(CONFIG_EFI_APP)
 	gd->mon_len = (ulong)&_end - (ulong)_init;
-- 
2.39.0.314.g84b9a713c41-goog



More information about the U-Boot mailing list