Skip to content
  • James Hogan's avatar
    linkage.h: fix build breakage due to symbol prefix handling · 126de6b2
    James Hogan authored
    Al's commit e1b5bb6d
    
     ("consolidate cond_syscall and SYSCALL_ALIAS
    declarations") broke the build on blackfin and metag due to the
    following code:
    
      #ifndef SYMBOL_NAME
      #ifdef CONFIG_SYMBOL_PREFIX
      #define SYMBOL_NAME(x) CONFIG_SYMBOL_PREFIX ## x
      #else
      #define SYMBOL_NAME(x) x
      #endif
      #endif
      #define __SYMBOL_NAME(x) __stringify(SYMBOL_NAME(x))
    
    __stringify literally stringifies CONFIG_SYMBOL_PREFIX ##x, so you get
    lines like this in kernel/sys_ni.s:
    
      .weak CONFIG_SYMBOL_PREFIXsys_quotactl
      .set CONFIG_SYMBOL_PREFIXsys_quotactl,CONFIG_SYMBOL_PREFIXsys_ni_syscall
    
    The patches in Rusty's modules-next tree such as "CONFIG_SYMBOL_PREFIX:
    cleanup." cleans up the whole mess around symbol prefixes, so this patch
    just attempts to fix the build in the meantime.
    
    The intermediate definition of SYMBOL_NAME above isn't used and is
    incorrect when CONFIG_SYMBOL_PREFIX is defined as CONFIG_SYMBOL_PREFIX
    is a quoted string literal, so define __SYMBOL_NAME directly depending
    on CONFIG_SYMBOL_PREFIX.
    
    Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
    Mea-culpa-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
    Cc: Rusty Russell <rusty@rustcorp.com.au>
    Cc: Mike Frysinger <vapier@gentoo.org>
    Cc: uclinux-dist-devel@blackfin.uclinux.org
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    126de6b2