Skip to content
  • Heiko Carstens's avatar
    syscall define: fix uml compile bug · 6c597963
    Heiko Carstens authored
    
    
    With the new system call defines we get this on uml:
    
    arch/um/sys-i386/built-in.o: In function `sys_call_table':
    (.rodata+0x308): undefined reference to `sys_sigprocmask'
    
    Reason for this is that uml passes the preprocessor option
    -Dsigprocmask=kernel_sigprocmask to gcc when compiling the kernel.
    This causes SYSCALL_DEFINE3(sigprocmask, ...) to be expanded to
    SYSCALL_DEFINEx(3, kernel_sigprocmask, ...) and finally to a system
    call named sys_kernel_sigprocmask.  However sys_sigprocmask is missing
    because of this.
    
    To avoid macro expansion for the system call name just concatenate the
    name at first define instead of carrying it through severel levels.
    This was pointed out by Al Viro.
    
    Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Reviewed-by: default avatarWANG Cong <wangcong@zeuux.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    6c597963