mirror of git://sourceware.org/git/glibc.git
The clone.S patch fixes 2 elfutils testsuite unwind failures, where the backtrace gets stuck repeating __thread_start until we hit the backtrace limit. This was confirmed by building and installing a patched glibc and then building elfutils and running its testsuite. Unfortunately, the testcase isn't working as expected and I don't know why. The testcase passes even when my clone.S patch is not installed. The testcase looks logically similarly to the elfutils testcases that are failing. Maybe there is a subtle difference in how the glibc unwinding works versus the elfutils unwinding? I don't have good gdb pthread support yet, so I haven't found a way to debug this. Anyways, I don't know if the testcase is useful or not. If the testcase isn't useful then maybe the clone.S patch is OK without a testcase? Jim [BZ #24040] * elf/Makefile (CFLAGS-tst-unwind-main.c): Add -DUSE_PTHREADS=0. * elf/tst-unwind-main.c: If USE_PTHEADS, include pthread.h and error.h (func): New. (main): If USE_PTHREADS, call pthread_create to run func. Otherwise call func directly. * nptl/Makefile (tests): Add tst-unwind-thread. (CFLAGS-tst-unwind-thread.c): Define. * nptl/tst-unwind-thread.c: New file. * sysdeps/unix/sysv/linux/riscv/clone.S (__thread_start): Mark ra as undefined. |
||
|---|---|---|
| .. | ||
| bits | ||
| rv64 | ||
| sys | ||
| Implies | ||
| Makefile | ||
| Versions | ||
| atomic-machine.h | ||
| clone.S | ||
| configure | ||
| configure.ac | ||
| dl-cache.h | ||
| dl-static.c | ||
| flush-icache.c | ||
| getcontext.S | ||
| init-first.c | ||
| ipc_priv.h | ||
| kernel-features.h | ||
| ldconfig.h | ||
| ldd-rewrite.sed | ||
| ldsodefs.h | ||
| libc-vdso.h | ||
| localplt.data | ||
| makecontext.c | ||
| profil-counter.h | ||
| pt-vfork.S | ||
| readelflib.c | ||
| register-dump.h | ||
| setcontext.S | ||
| shlib-versions | ||
| sigcontextinfo.h | ||
| swapcontext.S | ||
| syscall.c | ||
| sysdep.S | ||
| sysdep.h | ||
| ucontext-macros.h | ||
| ucontext_i.sym | ||
| vfork.S | ||