Ping. On Tue, Mar 17, 2020 at 11:21 PM Shu-Chun Weng <s...@google.com> wrote:
> 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 > >
smime.p7s
Description: S/MIME Cryptographic Signature