uabelho added a comment. In D107049#3100939 <https://reviews.llvm.org/D107049#3100939>, @lhames wrote:
> In D107049#3096727 <https://reviews.llvm.org/D107049#3096727>, @uabelho wrote: > >> Hi, >> >> We're seeing a problem with this patch in our downstream (not public) >> buildbots. With an asan-built compiler we see the following: >> >> ... >> 10:08:55 [ RUN ] InterpreterTest.CatchException >> 10:08:55 libunwind: __unw_add_dynamic_fde: bad fde: FDE is really a CIE >> 10:08:55 libc++abi: terminating with uncaught exception of type >> custom_exception >> ... > > I suspect that this is a Linux distro that's using libunwind as the unwinder, > at least for this test. Linux distros typically use libgcc_s for unwinding. > The two libraries have different behavior for their `__register_frame` > functions: libunwind's function expects to be passed a single FDE, libgcc_s's > expects to be passed an entire .eh_frame section. We try to guess the > unwinder in the JIT and use the appropriate argument (see [1][2]), but when > we get it wrong this is often the result: we try to pass an .eh-frame section > to libunwind's `__register_frame` and it errors out on a CIE at the start of > the section. > > @uabelho -- In your setup I'm seeing: > > -- Looking for __unw_add_dynamic_fde > -- Looking for __unw_add_dynamic_fde - not found > > So the question is, how are we failing to find `__unw_add_dynamic_fde` during > config, only to crash in it during the test? Is use of libunwind on your > platform expected? Thanks for your reply. Unfortunately I'm not really sure how it's configured or what is expected. I'll try to involve someone who knows. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D107049/new/ https://reviews.llvm.org/D107049 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits