Jan Beulich
adf1423698
[PATCH] i386/x86-64: Work around gcc bug with noreturn functions in unwinder
...
Current gcc generates calls not jumps to noreturn functions. When that happens the
return address can point to the next function, which confuses the unwinder.
This patch works around it by marking asynchronous exception
frames in contrast normal call frames in the unwind information. Then teach
the unwinder to decode this.
For normal call frames the unwinder now subtracts one from the address which avoids
this problem. The standard libgcc unwinder uses the same trick.
It doesn't include adjustment of the printed address (i.e. for the original
example, it'd still be kernel_math_error+0 that gets displayed, but the
unwinder wouldn't get confused anymore.
This only works with binutils 2.6.17+ and some versions of H.J.Lu's 2.6.16
unfortunately because earlier binutils don't support .cfi_signal_frame
[AK: added automatic detection of the new binutils and wrote description]
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26 10:52:41 +02:00
..
irq
[PATCH] genirq core: fix handle_level_irq()
2006-09-19 07:57:20 -07:00
power
[PATCH] prevent swsusp with PAE
2006-09-06 11:00:02 -07:00
time
.gitignore
acct.c
audit.c
[PATCH] sanity check audit_buffer
2006-09-11 13:32:17 -04:00
audit.h
[PATCH] audit: AUDIT_PERM support
2006-09-11 13:32:30 -04:00
auditfilter.c
[PATCH] audit: AUDIT_PERM support
2006-09-11 13:32:30 -04:00
auditsc.c
[PATCH] audit: AUDIT_PERM support
2006-09-11 13:32:30 -04:00
capability.c
compat.c
configs.c
cpu.c
cpuset.c
[PATCH] cpuset: oom panic fix
2006-08-27 11:01:32 -07:00
delayacct.c
[PATCH] task delay accounting fixes
2006-09-01 11:39:08 -07:00
dma.c
exec_domain.c
exit.c
[PATCH] eligible_child: remove an obsolete ->tgid check
2006-09-02 14:51:27 -07:00
extable.c
fork.c
[PATCH] Add the canary field to the PDA area and the task struct
2006-09-26 10:52:38 +02:00
futex.c
[PATCH] Use the correct restart option for futex_lock_pi
2006-09-08 10:22:50 -07:00
futex_compat.c
[PATCH] futex: Apply recent futex fixes to futex_compat
2006-08-06 08:57:49 -07:00
hrtimer.c
[PATCH] fix hrtimer percpu usage typo
2006-08-14 12:54:28 -07:00
itimer.c
kallsyms.c
Kconfig.hz
Kconfig.preempt
kexec.c
kfifo.c
kmod.c
[PATCH] bug fix in kernel/kmod.c
2006-09-16 12:54:32 -07:00
kprobes.c
[PATCH] IA64: kprobe invalidate icache of jump buffer
2006-07-31 13:28:38 -07:00
ksysfs.c
kthread.c
lockdep.c
[PATCH] Avoid recursion in lockdep when stack tracer takes locks
2006-09-26 10:52:34 +02:00
lockdep_internals.h
[PATCH] lockdep: double the number of stack-trace entries
2006-09-13 07:32:14 -07:00
lockdep_proc.c
Makefile
module.c
[PATCH] load_module: no BUG if module_subsys uninitialized
2006-09-25 17:38:36 -07:00
mutex-debug.c
mutex-debug.h
mutex.c
mutex.h
panic.c
[PATCH] Add the __stack_chk_fail() function
2006-09-26 10:52:39 +02:00
params.c
pid.c
posix-cpu-timers.c
posix-timers.c
printk.c
[PATCH] vt: printk: Fix framebuffer console triggering might_sleep assertion
2006-08-06 08:57:47 -07:00
profile.c
ptrace.c
rcupdate.c
[PATCH] rcu_do_batch: make ->qlen decrement irq safe
2006-09-13 07:32:14 -07:00
rcutorture.c
relay.c
resource.c
[PATCH] memory hotadd fixes: find_next_system_ram catch range fix
2006-08-06 08:57:48 -07:00
rtmutex-debug.c
rtmutex-debug.h
rtmutex-tester.c
rtmutex.c
[PATCH] reference rt-mutex-design in rtmutex.c
2006-07-31 13:28:43 -07:00
rtmutex.h
rtmutex_common.h
rwsem.c
sched.c
[PATCH] revert "Drop tasklist lock in do_sched_setscheduler"
2006-08-27 11:01:29 -07:00
seccomp.c
signal.c
Fix force_sig_info() semantics after cleanups
2006-08-02 20:17:49 -07:00
softirq.c
[PATCH] Reducing local_bh_enable/disable overhead in irqtrace
2006-07-31 13:28:42 -07:00
softlockup.c
[PATCH] cpu hotplug: replace __devinit* with __cpuinit* for cpu notifications
2006-07-31 13:28:39 -07:00
spinlock.c
[PATCH] i386: Account spinlocks to the caller during profiling for !FP kernels
2006-09-26 10:52:28 +02:00
stacktrace.c
stop_machine.c
[PATCH] Remove redundant up() in stop_machine()
2006-08-27 11:01:31 -07:00
sys.c
[PATCH] x86: Add portable getcpu call
2006-09-26 10:52:28 +02:00
sys_ni.c
sysctl.c
[PATCH] x86: Allow users to force a panic on NMI
2006-09-26 10:52:27 +02:00
taskstats.c
[NETLINK]: Extend netlink messaging interface
2006-09-22 14:53:43 -07:00
time.c
timer.c
[PATCH] sys_getppid oopses on debug kernel
2006-08-14 12:54:29 -07:00
uid16.c
unwind.c
[PATCH] i386/x86-64: Work around gcc bug with noreturn functions in unwinder
2006-09-26 10:52:41 +02:00
user.c
wait.c
workqueue.c
[PATCH] workqueue: remove lock_cpu_hotplug()
2006-08-14 12:54:29 -07:00