mirror of git://sourceware.org/git/glibc.git
It turns out tile suffered from the same problem as S390. However, disabling CFI information for the __startcontext on tile was not sufficient to fix the problem; I think the backtracer will just blindly try to follow the link register (lr) in that case. Instead, the change adds a cfi_undefined directive for "lr" and then arranges to call __startcontext directly when the new context starts, rather than just synthesizing a return to it. In addition to being a bit easier now to understand the control flow, this also allows the cfi_undefined directive to be placed in a way that causes it to be in force at the address that the "lr" from the called function points to. |
||
---|---|---|
.. | ||
bits | ||
sys | ||
tilegx | ||
tilepro | ||
Implies | ||
Makefile | ||
Versions | ||
arch-fork.h | ||
cacheflush.c | ||
clone.S | ||
dl-static.c | ||
getcontext.S | ||
init-first.c | ||
kernel-features.h | ||
ldsodefs.h | ||
libc-vdso.h | ||
makecontext.c | ||
profil-counter.h | ||
pt-vfork.c | ||
set_dataplane.c | ||
setcontext.S | ||
shlib-versions | ||
sigcontextinfo.h | ||
swapcontext.S | ||
syscall.S | ||
sysconf.c | ||
sysdep-cancel.h | ||
sysdep.c | ||
sysdep.h | ||
ucontext_i.h | ||
vfork.S | ||
waitpid.S |