linux/arch
Torok Edwin 257ef9d21f perf, x86: Fix callgraphs of 32-bit processes on 64-bit kernels
When profiling a 32-bit process on a 64-bit kernel, callgraph tracing
stopped after the first function, because it has seen a garbage memory
address (tried to interpret the frame pointer, and return address as a
64-bit pointer).

Fix this by using a struct stack_frame with 32-bit pointers when the
TIF_IA32 flag is set.

Note that TIF_IA32 flag must be used, and not is_compat_task(), because
the latter is only set when the 32-bit process is executing a syscall,
which may not always be the case (when tracing page fault events for
example).

Signed-off-by: Török Edwin <edwintorok@gmail.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Acked-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: x86@kernel.org
Cc: linux-kernel@vger.kernel.org
LKML-Reference: <1268820436-13145-1-git-send-email-edwintorok@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2010-04-02 19:30:03 +02:00
..
alpha alpha: fix compile errors in dma-mapping-common.h 2010-03-18 22:35:28 -04:00
arm [ARM] Orion5x: replace KEY_WLAN with KEY_WPS_BUTTON 2010-03-23 13:48:15 -04:00
avr32 avr32: use generic ptrace_resume code 2010-03-12 15:52:38 -08:00
blackfin Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin 2010-03-18 17:02:35 -07:00
cris frv/chris: fix lines with a missing semicolons 2010-03-29 09:37:14 -07:00
frv frv/chris: fix lines with a missing semicolons 2010-03-29 09:37:14 -07:00
h8300 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-03-12 16:04:50 -08:00
ia64 ACPI: processor: driver doesn't need to evaluate _PDC 2010-03-14 21:17:22 -04:00
m32r m32r: use generic ptrace_resume code 2010-03-12 15:52:39 -08:00
m68k Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-03-12 16:04:50 -08:00
m68knommu m68knommu: use generic ptrace_resume code 2010-03-12 15:52:38 -08:00
microblaze microblaze: Support word copying in copy_tofrom_user 2010-04-01 08:38:25 +02:00
mips init dynamic bin_attribute structures 2010-03-14 20:28:39 -07:00
mn10300 dma-mapping: mn10300: remove the obsolete and unnecessary DMA API comments 2010-03-12 15:52:42 -08:00
parisc pci-dma: add linux/pci-dma.h to linux/pci.h 2010-03-12 15:52:42 -08:00
powerpc Merge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-03-26 15:09:33 -07:00
s390 [S390] fix boot failures with compressed kernels 2010-03-24 11:49:54 +01:00
score ptrace: move user_enable_single_step & co prototypes to linux/ptrace.h 2010-03-12 15:52:38 -08:00
sh sh: Silence unintialized variable warnings in dwarf unwinder. 2010-03-23 17:07:41 +09:00
sparc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 2010-03-29 14:41:00 -07:00
um um: remove dma_sync_single_range 2010-03-12 15:52:40 -08:00
x86 perf, x86: Fix callgraphs of 32-bit processes on 64-bit kernels 2010-04-02 19:30:03 +02:00
xtensa Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-03-12 16:04:50 -08:00
.gitignore
Kconfig Merge branch 'perf-probes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-03-05 10:50:22 -08:00