mirror of
git://sourceware.org/git/glibc.git
synced 2024-12-15 04:20:28 +08:00
85bd1ddbdf
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 | ||
atomic-machine.h | ||
clone.S | ||
configure | ||
configure.ac | ||
dl-cache.h | ||
dl-static.c | ||
flush-icache.c | ||
getcontext.S | ||
Implies | ||
init-first.c | ||
ipc_priv.h | ||
kernel-features.h | ||
ldconfig.h | ||
ldd-rewrite.sed | ||
ldsodefs.h | ||
libc-vdso.h | ||
localplt.data | ||
makecontext.c | ||
Makefile | ||
profil-counter.h | ||
pt-vfork.S | ||
readelflib.c | ||
register-dump.h | ||
setcontext.S | ||
shlib-versions | ||
sigcontextinfo.h | ||
swapcontext.S | ||
syscall.c | ||
sysdep.h | ||
sysdep.S | ||
ucontext_i.sym | ||
ucontext-macros.h | ||
Versions | ||
vfork.S |