lkml.org 
[lkml]   [2008]   [Jul]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [patch] crashdump: fix undefined reference to `elfcorehdr_addr'
    On Sat, Jul 26, 2008 at 03:10:34AM -0700, Andrew Morton wrote:
    > On Sat, 26 Jul 2008 11:25:19 +0200 Ingo Molnar <mingo@elte.hu> wrote:
    >
    > >
    > > please apply before -rc1.
    > >
    > > Ingo
    > >
    > > ----------->
    > > >From 72db7cba50b6a05825f8a287f74002cc38f04fb7 Mon Sep 17 00:00:00 2001
    > > From: Ingo Molnar <mingo@elte.hu>
    > > Date: Sat, 26 Jul 2008 11:22:33 +0200
    > > Subject: [PATCH] crashdump: fix undefined reference to `elfcorehdr_addr'
    > >
    > > fix build bug introduced by 95b68dec0d5 "calgary iommu: use the first
    > > kernels TCE tables in kdump":
    > >
    > > arch/x86/kernel/built-in.o: In function `calgary_iommu_init':
    > > (.init.text+0x8399): undefined reference to `elfcorehdr_addr'
    > > arch/x86/kernel/built-in.o: In function `calgary_iommu_init':
    > > (.init.text+0x856c): undefined reference to `elfcorehdr_addr'
    > > arch/x86/kernel/built-in.o: In function `detect_calgary':
    > > (.init.text+0x8c68): undefined reference to `elfcorehdr_addr'
    > > arch/x86/kernel/built-in.o: In function `detect_calgary':
    > > (.init.text+0x8d0c): undefined reference to `elfcorehdr_addr'
    > >
    > > make elfcorehdr_addr a generally available symbol.
    > >
    > > Signed-off-by: Ingo Molnar <mingo@elte.hu>
    > > ---
    > > include/linux/crash_dump.h | 6 ++++++
    > > 1 files changed, 6 insertions(+), 0 deletions(-)
    > >
    > > diff --git a/include/linux/crash_dump.h b/include/linux/crash_dump.h
    > > index 6cd39a9..025e4f5 100644
    > > --- a/include/linux/crash_dump.h
    > > +++ b/include/linux/crash_dump.h
    > > @@ -8,7 +8,13 @@
    > > #include <linux/proc_fs.h>
    > >
    > > #define ELFCORE_ADDR_MAX (-1ULL)
    > > +
    > > +#ifdef CONFIG_PROC_VMCORE
    > > extern unsigned long long elfcorehdr_addr;
    > > +#else
    > > +static const unsigned long long elfcorehdr_addr = ELFCORE_ADDR_MAX;
    > > +#endif
    > > +
    > > extern ssize_t copy_oldmem_page(unsigned long, char *, size_t,
    > > unsigned long, int);
    > > extern const struct file_operations proc_vmcore_operations;
    >
    > spose that'll fix it. But it seems odd that is_kdump_kernel() will
    > return false if CONFIG_PROC_VMCORE=n, CONFIG_CRASH_DUMP=y. I mean,
    > it's still a crashdump kernel, is it not?

    Perhaps is_kdump_kernel() ought to be renamed kernel_has_vmcore().

    To my mind, is_kdump_kernel() should really look something like this:

    #ifdef CONFIG_CRASH_DUMP
    static inline int is_kdump_kernel(void) { return 1; }
    #else
    static inline int is_kdump_kernel(void) { return 0; }
    #endif

    But that can probably just be handled by any relevant code
    using CONFIG_CRASH_DUMP as necessary.



    --
    Horms



    \
     
     \ /
      Last update: 2008-07-28 01:47    [W:0.025 / U:92.484 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site