On 1/19/23 03:15, Jan Kratochvil wrote: > On Wed, 18 Jan 2023 22:22:51 +0800, Luis Machado wrote: >> I'm on Ubuntu 22.04/20.04, but running 32-bit on a 64-bit system via Docker. > > Ubuntu is the host OS. But I haven't found recent armv7 (32-bit) Ubuntu. > What is the Docker container you use? It is a custom one built with Ubuntu 22.04/20.04 images/packages. > > >> x/i $pc >> => 0xf7eadb04 <__libc_do_syscall+4>: svc 0 >> >> The test seems to be expecting a pattern of >> >> x/i $pc >> => 0xf7eadb04 <__libc_do_syscall+4>: svc 0x00000000 >> >> If I replaced the pattern to force a match, the test continues until the unwinder check. > > I forgot to update this pattern but it would not help the testcase anyway. > The purpose is to stop in the function pthread_cond_timedwait. > Here it stops in function __libc_do_syscall. > It would be helpful at least a backtrace but I would more like to reproduce > your environment. I've attached a gdb.log file. Hopefully that will bring some light. Please note I used "nosharedlibrary" to remove the symbols for my test. > > >> Then it runs into a >> UNTESTED again because I see the dwarf2 unwinder being used. >> >> That may be because I have debug info installed I suppose. I wonder if there >> is a way to force gdb not to use the dwarf2 unwinder for libc, even if it is >> available on the system. > > I have fixed that part: > gdb_test_no_output "set debug-file-directory" "" For my case, it looks like gdb will still find the symbols. The command "nosharedlibrary" will drop the symbols completely though. But then I see the prologue unwinders being used instead of the exception frame. > > > Thanks, > Jan