With clang at HEAD, linking fails with "undefined symbol: qemu_build_not_reached". It's because `store_helper` and `helper_ret_stb_mmu` are mutually recursive and clang inlined latter inside the former, making `store_helper` a recursive function and no longer fully inlineable preventing constant propogation.
Signed-off-by: Shu-Chun Weng <s...@google.com> --- accel/tcg/cputlb.c | 1 + 1 file changed, 1 insertion(+) diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index e3b5750c3b..a7c812ed72 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -2050,6 +2050,7 @@ store_helper(CPUArchState *env, target_ulong addr, uint64_t val, store_memop(haddr, val, op); } +__attribute__((noinline)) void helper_ret_stb_mmu(CPUArchState *env, target_ulong addr, uint8_t val, TCGMemOpIdx oi, uintptr_t retaddr) { -- 2.25.1.481.gfbce0eb801-goog