On Mon, Mar 09, 2026 at 10:41:35AM +0000, Edwin Török wrote: > clang would duplicate the loop body and end up with a double definition > of the symbol: > ``` > /tmp/test_x86_emulator-0f3576.s:27823: Error: symbol `vmovsh_to_mem' is > already defined > /tmp/test_x86_emulator-0f3576.s:27825: Error: symbol `.Lvmovsh_to_mem_end' is > already defined > ``` > > Until a better solution is found: reduce optimizations in the test runner. > > Using -Os might also work, but we can't rely on the size optimization > always avoiding the duplication of asm blocks. > This is test code, not performance critical code, and -O0 is more future > proof. > However for debugging -Og is recommended over -O0, and this still > avoids the duplicate label problem. > > Signed-off-by: Edwin Török <[email protected]>
Building the x86 emulator test harness is currently gated on: ifneq ($(clang),y) SUBDIRS-$(CONFIG_X86) += x86_emulator endif So I think there should be a further patch (or done here) that removed this check. And then we should also run the test harness from one of the LLVM FreeBSD builds ideally. Have you tested with a full LLVM based toolchain (so also using LLVM linker?) Thanks, Roger.
