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

Reply via email to