Messages in this thread Patch in this message | | | From | Catalin Marinas <> | Subject | [PATCH 2.6.17-rc4 5/6] Add kmemleak support for ARM | Date | Sat, 13 May 2006 17:06:18 +0100 |
| |
From: Catalin Marinas <catalin.marinas@arm.com>
This patch modifies the vmlinux.lds.S script and adds the backtrace support for ARM to be used with kmemleak.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> ---
arch/arm/kernel/vmlinux.lds.S | 7 +++++++ include/asm-arm/processor.h | 12 ++++++++++++ 2 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/arch/arm/kernel/vmlinux.lds.S b/arch/arm/kernel/vmlinux.lds.S index 2b254e8..c6f038c 100644 --- a/arch/arm/kernel/vmlinux.lds.S +++ b/arch/arm/kernel/vmlinux.lds.S @@ -68,6 +68,11 @@ #endif __per_cpu_start = .; *(.data.percpu) __per_cpu_end = .; +#ifdef CONFIG_DEBUG_MEMLEAK + __memleak_offsets_start = .; + *(.init.memleak_offsets) + __memleak_offsets_end = .; +#endif #ifndef CONFIG_XIP_KERNEL __init_begin = _stext; *(.init.data) @@ -110,6 +115,7 @@ #endif .data : AT(__data_loc) { __data_start = .; /* address in memory */ + _sdata = .; /* * first, the init task union, aligned @@ -158,6 +164,7 @@ #endif __bss_start = .; /* BSS */ *(.bss) *(COMMON) + __bss_stop = .; _end = .; } /* Stabs debugging sections. */ diff --git a/include/asm-arm/processor.h b/include/asm-arm/processor.h index 04f4d34..feaf017 100644 --- a/include/asm-arm/processor.h +++ b/include/asm-arm/processor.h @@ -121,6 +121,18 @@ #define spin_lock_prefetch(x) do { } whi #endif +#ifdef CONFIG_FRAME_POINTER +static inline unsigned long arch_call_address(void *frame) +{ + return *(unsigned long *) (frame - 4) - 4; +} + +static inline void *arch_prev_frame(void *frame) +{ + return *(void **) (frame - 12); +} +#endif + #endif #endif /* __ASM_ARM_PROCESSOR_H */ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |