lkml.org 
[lkml]   [2006]   [Jun]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 2.6.17-rc6 6/8] Add kmemleak support for ARM
    Date
    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/
    \
     
     \ /
      Last update: 2006-06-07 00:26    [W:0.038 / U:60.128 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site