Namhyung Kim
0f77a8d378
vsprintf: Introduce %pB format specifier
...
The %pB format specifier is for stack backtrace. Its handler
sprint_backtrace() does symbol lookup using (address-1) to
ensure the address will not point outside of the function.
If there is a tail-call to the function marked "noreturn",
gcc optimized out the code after the call then causes saved
return address points outside of the function (i.e. the start
of the next function), so pollutes call trace somewhat.
This patch adds the %pB printk mechanism that allows architecture
call-trace printout functions to improve backtrace printouts.
Signed-off-by: Namhyung Kim <namhyung@gmail.com>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Acked-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-arch@vger.kernel.org
LKML-Reference: <1300934550-21394-1-git-send-email-namhyung@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2011-03-24 08:36:10 +01:00
..
debug
Merge branch 'master' into for-next
2010-12-22 18:57:02 +01:00
gcov
Merge branch 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6
2011-03-20 18:14:55 -07:00
irq
genirq: Fix incorrect unlock in __setup_irq()
2011-03-17 15:52:30 +01:00
power
Merge branch 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6
2011-03-20 18:14:55 -07:00
time
Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2011-03-15 18:53:35 -07:00
trace
Merge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2011-03-18 10:38:34 -07:00
.gitignore
acct.c
pass a struct path to vfs_statfs
2010-08-09 16:48:42 -04:00
async.c
audit.c
netlink: kill loginuid/sessionid/sid members from struct netlink_skb_parms
2011-03-03 10:55:40 -08:00
audit.h
audit: make functions static
2010-10-30 01:42:19 -04:00
audit_tree.c
in untag_chunk() we need to do alloc_chunk() a bit earlier
2010-10-30 02:18:32 -04:00
audit_watch.c
kill path_lookup()
2011-03-14 09:15:23 -04:00
auditfilter.c
netlink: kill loginuid/sessionid/sid members from struct netlink_skb_parms
2011-03-03 10:55:40 -08:00
auditsc.c
audit mmap
2010-10-30 08:45:43 -04:00
backtracetest.c
bounds.c
capability.c
security: add cred argument to security_capable()
2011-02-11 17:41:58 +11:00
cgroup.c
perf: Add cgroup support
2011-02-16 13:30:48 +01:00
cgroup_freezer.c
cgroup_freezer: update_freezer_state() does incorrect state transitions
2010-10-27 18:03:08 -07:00
compat.c
posix-timers: Introduce a syscall for clock tuning.
2011-02-02 15:28:19 +01:00
configs.c
llseek: automatically add .llseek fop
2010-10-15 15:53:27 +02:00
cpu.c
Merge branches 'x86-alternatives-for-linus', 'x86-fpu-for-linus', 'x86-hwmon-for-linus', 'x86-paravirt-for-linus', 'core-locking-for-linus' and 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2011-01-06 11:11:50 -08:00
cpuset.c
cpuset: add a missing unlock in cpuset_write_resmask()
2011-03-04 17:53:38 -08:00
cred.c
Merge commit 'v2.6.38-rc5' into core/locking
2011-02-16 13:33:41 +01:00
delayacct.c
dma.c
elfcore.c
exec_domain.c
sys_personality: remove the bogus checks in sys_personality()->__set_personality() path
2010-08-09 20:45:05 -07:00
exit.c
Merge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2011-01-11 11:02:13 -08:00
extable.c
fork.c
export pid symbols needed for kvm_vcpu_on_spin
2011-03-17 13:08:28 -03:00
freezer.c
Freezer: Fix a race during freezing of TASK_STOPPED tasks
2010-12-24 15:02:40 +01:00
futex.c
Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2011-03-15 18:28:30 -07:00
futex_compat.c
futex: Address compiler warnings in exit_robust_list
2010-11-10 13:27:50 +01:00
groups.c
kernel/groups.c: fix integer overflow in groups_search
2010-09-09 18:57:24 -07:00
hrtimer.c
Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2011-03-15 18:53:35 -07:00
hung_task.c
lockup detector: Fix grammar by adding a missing "to" in the comments
2010-08-17 09:11:52 +02:00
hw_breakpoint.c
perf: Dynamic pmu types
2010-12-16 11:36:43 +01:00
irq_work.c
irq_work: Use per cpu atomics instead of regular atomics
2010-12-18 15:54:48 +01:00
itimer.c
jump_label.c
jump label: Make arch_jump_label_text_poke_early() optional
2010-10-29 12:56:13 -04:00
kallsyms.c
vsprintf: Introduce %pB format specifier
2011-03-24 08:36:10 +01:00
Kconfig.freezer
Kconfig.hz
Kconfig.locks
Kconfig.preempt
kexec.c
tree-wide: fix comment/printk typos
2010-11-01 15:38:34 -04:00
kfifo.c
kfifo: fix scatterlist usage
2010-10-01 10:50:58 -07:00
kmod.c
Make do_execve() take a const filename pointer
2010-08-17 18:07:43 -07:00
kprobes.c
Merge branch 'for-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu
2011-01-07 17:02:58 -08:00
ksysfs.c
kthread.c
sched: Constify function scope static struct sched_param usage
2011-01-07 15:55:45 +01:00
latencytop.c
fs/proc/base.c, kernel/latencytop.c: convert sprintf_symbol() to %ps
2011-01-13 08:03:16 -08:00
lockdep.c
lockdep: Move early boot local IRQ enable/disable status to init/main.c
2011-01-20 13:32:33 +01:00
lockdep_internals.h
lockdep_proc.c
lockdep: Remove unused 'factor' variable from lockdep_stats_show()
2011-03-23 13:54:47 +01:00
lockdep_states.h
Makefile
kernel: clean up USE_GENERIC_SMP_HELPERS
2011-01-13 08:03:08 -08:00
module.c
tracepoints: Fix section alignment using pointer array
2011-02-03 09:28:46 -05:00
mutex-debug.c
mutex-debug.h
mutex.c
mutexes, sched: Introduce arch_mutex_cpu_relax()
2010-11-26 15:05:34 +01:00
mutex.h
notifier.c
ns_cgroup.c
cgroup: notify ns_cgroup deprecated
2010-10-27 18:03:09 -07:00
nsproxy.c
padata.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2010-08-04 15:23:14 -07:00
panic.c
ACPI, APEI, Generic Hardware Error Source POLL/IRQ/NMI notification type support
2011-01-12 03:06:19 -05:00
params.c
module: show version information for built-in modules in sysfs
2011-01-24 14:32:51 +10:30
perf_event.c
perf: Fix tear-down of inherited group events
2011-03-16 14:04:14 +01:00
pid.c
export pid symbols needed for kvm_vcpu_on_spin
2011-03-17 13:08:28 -03:00
pid_namespace.c
pm_qos_params.c
PM QoS: Make pm_qos settings readable
2011-03-15 00:43:18 +01:00
posix-cpu-timers.c
posix-timers: Cleanup namespace
2011-02-02 15:28:19 +01:00
posix-timers.c
timers: Export CLOCK_BOOTTIME via the posix timers interface
2011-02-21 12:53:09 -08:00
printk.c
Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6
2011-03-16 15:05:40 -07:00
profile.c
llseek: automatically add .llseek fop
2010-10-15 15:53:27 +02:00
ptrace.c
Mark ptrace_{traceme,attach,detach} static
2011-03-04 09:23:30 -08:00
range.c
kernel/range.c: fix clean_sort_range() for the case of full array
2010-11-12 07:55:31 -08:00
rcupdate.c
rcu: add comment saying why DEBUG_OBJECTS_RCU_HEAD depends on PREEMPT.
2011-03-04 08:05:41 -08:00
rcutiny.c
rcu: avoid pointless blocked-task warnings
2011-01-14 04:58:08 -08:00
rcutiny_plugin.h
rcu: call __rcu_read_unlock() in exit_rcu for tiny RCU
2011-03-04 08:05:08 -08:00
rcutorture.c
rcutorture: Get rid of duplicate sched.h include
2011-03-04 08:05:17 -08:00
rcutree.c
Merge branch 'for-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu
2011-01-07 17:02:58 -08:00
rcutree.h
rcu: limit rcu_node leaf-level fanout
2010-12-17 12:34:20 -08:00
rcutree_plugin.h
rcu: increase synchronize_sched_expedited() batching
2010-12-17 12:34:08 -08:00
rcutree_trace.c
rcu,cleanup: simplify the code when cpu is dying
2010-11-29 22:01:58 -08:00
relay.c
Clean up relay_alloc_page_array() slightly by using vzalloc rather than vmalloc and memset
2010-11-05 08:21:34 -07:00
res_counter.c
resource.c
resources: add arch hook for preventing allocation in reserved areas
2010-12-17 10:01:09 -08:00
rtmutex-debug.c
rtmutex: Simplify PI algorithm and make highest prio task get lock
2011-01-27 21:13:51 -05:00
rtmutex-debug.h
rtmutex-tester.c
rtmutex: tester: Remove the remaining BKL leftovers
2011-02-22 22:07:22 +01:00
rtmutex.c
rtmutex: Simplify PI algorithm and make highest prio task get lock
2011-01-27 21:13:51 -05:00
rtmutex.h
rtmutex_common.h
rtmutex: Simplify PI algorithm and make highest prio task get lock
2011-01-27 21:13:51 -05:00
rwsem.c
sched.c
Merge branch 'config' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl
2011-03-16 17:21:00 -07:00
sched_autogroup.c
sched, autogroup: Stop claiming ownership of the root task group
2011-02-23 11:34:03 +01:00
sched_autogroup.h
sched, autogroup: Stop going ahead if autogroup is disabled
2011-02-23 11:33:59 +01:00
sched_clock.c
sched: Add some clock info to sched_debug
2010-11-23 10:29:08 +01:00
sched_cpupri.c
sched_cpupri.h
sched_debug.c
sched: Use a buddy to implement yield_task_fair()
2011-02-03 14:20:33 +01:00
sched_fair.c
sched: Resched proper CPU on yield_to()
2011-03-04 11:14:31 +01:00
sched_features.h
sched: Rewrite tg_shares_up)
2010-11-18 13:27:46 +01:00
sched_idletask.c
sched: Fix switch_from_fair()
2011-01-26 12:33:22 +01:00
sched_rt.c
Merge branch 'sched/urgent' into sched/core
2011-03-04 11:12:26 +01:00
sched_stats.h
sched_stat: Update sched_info_queue/dequeue() code comments
2010-10-24 13:29:01 +02:00
sched_stoptask.c
sched: Fix switch_from_fair()
2011-01-26 12:33:22 +01:00
seccomp.c
semaphore.c
signal.c
signals: annotate lock context change on ptrace_stop()
2010-10-27 18:03:12 -07:00
smp.c
smp_call_function_interrupt: use typedef and %pf
2011-03-17 16:58:11 -07:00
softirq.c
Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2011-03-15 19:23:40 -07:00
spinlock.c
srcu.c
rcu: demote SRCU_SYNCHRONIZE_DELAY from kernel-parameter status
2011-01-14 04:56:49 -08:00
stacktrace.c
stop_machine.c
stop_machine: convert cpu notifier to return encapsulate errno value
2010-10-26 16:52:15 -07:00
sys.c
PM / Core: Introduce struct syscore_ops for core subsystems PM
2011-03-15 00:43:46 +01:00
sys_ni.c
vfs: Add open by file handle support
2011-03-15 02:21:44 -04:00
sysctl.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6
2011-03-16 09:15:43 -07:00
sysctl_binary.c
open-style analog of vfs_path_lookup()
2011-03-14 09:15:28 -04:00
sysctl_check.c
sysctl: min/max bounds are optional
2010-10-15 14:42:24 -07:00
taskstats.c
taskstats: use better ifdef for alignment
2011-01-13 08:03:19 -08:00
test_kprobes.c
kprobes: Fix selftest to clear flags field for reusing probes
2010-10-14 08:55:27 +02:00
time.c
Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2011-03-15 18:53:35 -07:00
timeconst.pl
timer.c
Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2011-03-15 18:53:35 -07:00
tracepoint.c
tracepoints: Fix section alignment using pointer array
2011-02-03 09:28:46 -05:00
tsacct.c
taskstats: use real microsecond granularity for CPU times
2010-10-27 18:03:17 -07:00
uid16.c
up.c
user-return-notifier.c
user.c
fix freeing user_struct in user cache
2010-12-29 11:31:38 -08:00
user_namespace.c
user_ns: improve the user_ns on-the-slab packaging
2011-01-13 08:03:18 -08:00
utsname.c
utsname_sysctl.c
wait.c
docbook: add more wait/wake/completion to device-drivers docbook
2010-10-26 17:32:41 -07:00
watchdog.c
watchdog, nmi: Lower the severity of error messages
2011-02-10 13:21:59 +01:00
workqueue.c
Merge branch 'for-2.6.39' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
2011-03-16 08:20:19 -07:00
workqueue_sched.h