• Yoshinori Sato's avatar
    Missing symbol prefix on vmlinux.lds.h · c6de0026
    Yoshinori Sato authored
    ARCH=h8300:
    
    init/main.c:781: undefined reference to `___early_initcall_end'
    
    Same problem have
    __start___bug_table
    __stop___bug_table
    __tracedata_start
    __tracedata_end
    __per_cpu_start
    __per_cpu_end
    
    When defining a symbol in vmlinux.lds, use the VMLINUX_SYMBOL macro.
    VMLINUX_SYMBOL adds a prefix charactor.
    
    You can't just use straight symbol names in common header files as they
    dont take into consideration weird arch-specific ABI conventions.  in the
    case of Blackfin/h8300, the ABI dictates that any C-visible symbols have
    an underscore prefixed to them.  Thus all symbols in vmlinux.lds.h need to
    be wrapped in VMLINUX_SYMBOL() so that each arch can put hide this magic
    in their own files.
    
    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: default avatarYoshinori Sato <ysato@users.sourceforge.jp>
    Cc: Jeremy Fitzhardinge <jeremy@goop.org>
    Cc: "Mike Frysinger" <vapier.adi@gmail.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    c6de0026
vmlinux.lds.h 12 KB