• S
    fix 'dynreloc miscount' link error on Powerpc · 045e72ac
    Sam Ravnborg 提交于
    Nathan Lynch <ntl@pobox.com> reported:
    2.6.23-rc1 breaks the build for 64-bit powerpc for me (using
    maple_defconfig):
    
      LD      vmlinux.o
    powerpc64-unknown-linux-gnu-ld: dynreloc miscount for
    kernel/built-in.o, section .opd
    powerpc64-unknown-linux-gnu-ld: can not edit opd Bad value
    make: *** [vmlinux.o] Error 1
    
    However, I see a possibly related binutils patch:
    http://article.gmane.org/gmane.comp.gnu.binutils/33650
    
    It was tracked down to be caused by the weak prototype
    declaration in mm.h:
    __attribute__((weak)) const char *arch_vma_name(struct vm_area_struct *vma);
    
    But there is no need to make the declaration weak - only the definition
    needs to be marked weak.  So drop the weak declaration.  And in the process
    drop the duplicate definition in page.h for powerpc.
    
    Note: the arch_vma_name fix for x86_64 needs to be applied first to avoid
    breaking x86_64
    Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
    Cc: Nathan Lynch <ntl@pobox.com>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    045e72ac
mm.h 42.2 KB