On 1/2/26 13:29, Simon Glass wrote:
Hi Heinrich,
On Wed, 31 Dec 2025 at 12:11, Heinrich Schuchardt
<[email protected]> wrote:
When compiling with CONFIG_CC_OPTIMIZE_FOR_DEBUG=y the C compiler does not
execute all optimization paths and add a reference to os_malloc().
Remove the reference if CONFIG_SANDBOX=n using #ifdef.
Signed-off-by: Heinrich Schuchardt <[email protected]>
---
test/test-main.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/test/test-main.c b/test/test-main.c
index 3254325e8b1..1815d60acf7 100644
--- a/test/test-main.c
+++ b/test/test-main.c
@@ -734,6 +734,7 @@ int ut_run_list(struct unit_test_state *uts, const char
*category,
uts->of_root = gd_of_root();
uts->runs_per_test = runs_per_test;
+#ifdef CONFIG_SANDBOX
if (fdt_action() == FDTCHK_COPY && gd->fdt_blob) {
uts->fdt_size = fdt_totalsize(gd->fdt_blob);
uts->fdt_copy = os_malloc(uts->fdt_size);
@@ -743,6 +744,7 @@ int ut_run_list(struct unit_test_state *uts, const char
*category,
}
memcpy(uts->fdt_copy, gd->fdt_blob, uts->fdt_size);
}
+#endif
uts->force_run = force_run;
ret = ut_run_tests(uts, prefix, tests, count, select_name,
test_insert);
--
2.51.0
Oddly I hit this same problem some months back but I didn't end up
needing to patch it.
Which board are you building here and which toolchain?
I am on Ubuntu 26.04 (gcc 15.2.0-7ubuntu1) and the board was
qemu-riscv64_smode_defconfig.
Best regards
Heinrich