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 | ||