Hi Benjamin, [auto build test ERROR on tip/x86/core] [also build test ERROR on v4.5-rc7 next-20160309] [if your patch is applied to the wrong git tree, please drop us a note to help improving the system] url: https://github.com/0day-ci/linux/commits/Benjamin-LaHaise/x86_32-add-support-for-64-bit-__get_user/20160310-012551 config: x86_64-randconfig-s0-03100154 (attached as .config) reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All error/warnings (new ones prefixed by >>): arch/x86/kernel/ptrace.c: Assembler messages: >> arch/x86/kernel/ptrace.c:531: Error: operand type mismatch for `movq' >> arch/x86/kernel/ptrace.c:535: Error: incorrect register `%dx' used with `q' suffix -- In file included from include/linux/thread_info.h:11:0, from arch/x86/include/asm/preempt.h:6, from include/linux/preempt.h:59, from include/linux/spinlock.h:50, from include/linux/seqlock.h:35, from include/linux/time.h:5, from include/uapi/linux/timex.h:56, from include/linux/timex.h:56, from include/linux/sched.h:19, from fs/select.c:18: fs/select.c: In function 'SyS_pselect6': >> include/linux/bug.h:33:45: error: unsupported operand size for extended register #define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); })) ^ >> include/linux/syscalls.h:108:31: note: in expansion of macro 'BUILD_BUG_ON_ZERO' #define __SC_TEST(t, a) (void)BUILD_BUG_ON_ZERO(!__TYPE_IS_LL(t) && sizeof(t) > sizeof(long)) ^ >> include/linux/syscalls.h:93:23: note: in expansion of macro '__SC_TEST' #define __MAP1(m,t,a) m(t,a) ^ include/linux/syscalls.h:94:35: note: in expansion of macro '__MAP1' #define __MAP2(m,t,a,...) m(t,a), __MAP1(m,__VA_ARGS__) ^ include/linux/syscalls.h:95:35: note: in expansion of macro '__MAP2' #define __MAP3(m,t,a,...) m(t,a), __MAP2(m,__VA_ARGS__) ^ include/linux/syscalls.h:96:35: note: in expansion of macro '__MAP3' #define __MAP4(m,t,a,...) m(t,a), __MAP3(m,__VA_ARGS__) ^ include/linux/syscalls.h:97:35: note: in expansion of macro '__MAP4' #define __MAP5(m,t,a,...) m(t,a), __MAP4(m,__VA_ARGS__) ^ >> include/linux/syscalls.h:98:35: note: in expansion of macro '__MAP5' #define __MAP6(m,t,a,...) m(t,a), __MAP5(m,__VA_ARGS__) ^ >> include/linux/syscalls.h:99:22: note: in expansion of macro '__MAP6' #define __MAP(n,...) __MAP##n(__VA_ARGS__) ^ include/linux/syscalls.h:202:3: note: in expansion of macro '__MAP' __MAP(x,__SC_TEST,__VA_ARGS__); \ ^ include/linux/syscalls.h:191:2: note: in expansion of macro '__SYSCALL_DEFINEx' __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) ^ include/linux/syscalls.h:187:36: note: in expansion of macro 'SYSCALL_DEFINEx' #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__) ^ >> fs/select.c:700:1: note: in expansion of macro 'SYSCALL_DEFINE6' SYSCALL_DEFINE6(pselect6, int, n, fd_set __user *, inp, fd_set __user *, outp, ^ >> include/linux/bug.h:33:45: error: unsupported operand size for extended register #define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); })) ^ >> include/linux/syscalls.h:108:31: note: in expansion of macro 'BUILD_BUG_ON_ZERO' #define __SC_TEST(t, a) (void)BUILD_BUG_ON_ZERO(!__TYPE_IS_LL(t) && sizeof(t) > sizeof(long)) ^ >> include/linux/syscalls.h:93:23: note: in expansion of macro '__SC_TEST' #define __MAP1(m,t,a) m(t,a) ^ include/linux/syscalls.h:94:35: note: in expansion of macro '__MAP1' #define __MAP2(m,t,a,...) m(t,a), __MAP1(m,__VA_ARGS__) ^ include/linux/syscalls.h:95:35: note: in expansion of macro '__MAP2' #define __MAP3(m,t,a,...) m(t,a), __MAP2(m,__VA_ARGS__) ^ include/linux/syscalls.h:96:35: note: in expansion of macro '__MAP3' #define __MAP4(m,t,a,...) m(t,a), __MAP3(m,__VA_ARGS__) ^ include/linux/syscalls.h:97:35: note: in expansion of macro '__MAP4' #define __MAP5(m,t,a,...) m(t,a), __MAP4(m,__VA_ARGS__) ^ >> include/linux/syscalls.h:98:35: note: in expansion of macro '__MAP5' #define __MAP6(m,t,a,...) m(t,a), __MAP5(m,__VA_ARGS__) ^ >> include/linux/syscalls.h:99:22: note: in expansion of macro '__MAP6' #define __MAP(n,...) __MAP##n(__VA_ARGS__) ^ include/linux/syscalls.h:202:3: note: in expansion of macro '__MAP' __MAP(x,__SC_TEST,__VA_ARGS__); \ ^ include/linux/syscalls.h:191:2: note: in expansion of macro '__SYSCALL_DEFINEx' __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) ^ include/linux/syscalls.h:187:36: note: in expansion of macro 'SYSCALL_DEFINEx' #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__) ^ >> fs/select.c:700:1: note: in expansion of macro 'SYSCALL_DEFINE6' SYSCALL_DEFINE6(pselect6, int, n, fd_set __user *, inp, fd_set __user *, outp, ^ >> include/linux/bug.h:33:45: error: unsupported operand size for extended register #define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); })) ^ >> include/linux/syscalls.h:108:31: note: in expansion of macro 'BUILD_BUG_ON_ZERO' #define __SC_TEST(t, a) (void)BUILD_BUG_ON_ZERO(!__TYPE_IS_LL(t) && sizeof(t) > sizeof(long)) ^ >> include/linux/syscalls.h:93:23: note: in expansion of macro '__SC_TEST' #define __MAP1(m,t,a) m(t,a) ^ include/linux/syscalls.h:94:35: note: in expansion of macro '__MAP1' #define __MAP2(m,t,a,...) m(t,a), __MAP1(m,__VA_ARGS__) ^ include/linux/syscalls.h:95:35: note: in expansion of macro '__MAP2' #define __MAP3(m,t,a,...) m(t,a), __MAP2(m,__VA_ARGS__) ^ include/linux/syscalls.h:96:35: note: in expansion of macro '__MAP3' #define __MAP4(m,t,a,...) m(t,a), __MAP3(m,__VA_ARGS__) ^ include/linux/syscalls.h:97:35: note: in expansion of macro '__MAP4' #define __MAP5(m,t,a,...) m(t,a), __MAP4(m,__VA_ARGS__) ^ >> include/linux/syscalls.h:98:35: note: in expansion of macro '__MAP5' #define __MAP6(m,t,a,...) m(t,a), __MAP5(m,__VA_ARGS__) ^ >> include/linux/syscalls.h:99:22: note: in expansion of macro '__MAP6' #define __MAP(n,...) __MAP##n(__VA_ARGS__) ^ include/linux/syscalls.h:202:3: note: in expansion of macro '__MAP' __MAP(x,__SC_TEST,__VA_ARGS__); \ ^ include/linux/syscalls.h:191:2: note: in expansion of macro '__SYSCALL_DEFINEx' __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) ^ include/linux/syscalls.h:187:36: note: in expansion of macro 'SYSCALL_DEFINEx' #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__) ^ >> fs/select.c:700:1: note: in expansion of macro 'SYSCALL_DEFINE6' SYSCALL_DEFINE6(pselect6, int, n, fd_set __user *, inp, fd_set __user *, outp, ^ >> include/linux/bug.h:33:45: error: unsupported operand size for extended register #define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); })) ^ >> include/linux/syscalls.h:108:31: note: in expansion of macro 'BUILD_BUG_ON_ZERO' #define __SC_TEST(t, a) (void)BUILD_BUG_ON_ZERO(!__TYPE_IS_LL(t) && sizeof(t) > sizeof(long)) ^ -- fs/compat.c: In function 'compat_SyS_fcntl64': >> fs/compat.c:417:1: error: unsupported operand size for extended register COMPAT_SYSCALL_DEFINE3(fcntl64, unsigned int, fd, unsigned int, cmd, ^ >> fs/compat.c:417:1: error: unsupported operand size for extended register >> fs/compat.c:417:1: error: unsupported operand size for extended register >> fs/compat.c:417:1: error: unsupported operand size for extended register >> fs/compat.c:417:1: error: unsupported operand size for extended register >> fs/compat.c:417:1: error: unsupported operand size for extended register -- kernel/ptrace.c: In function 'ptrace_request': >> kernel/ptrace.c:1058:1: error: unsupported operand size for extended register } ^ >> kernel/ptrace.c:1058:1: error: unsupported operand size for extended register >> kernel/ptrace.c:1058:1: error: unsupported operand size for extended register >> kernel/ptrace.c:1058:1: error: unsupported operand size for extended register >> kernel/ptrace.c:1058:1: error: unsupported operand size for extended register >> kernel/ptrace.c:1058:1: error: unsupported operand size for extended register -- kernel/signal.c: In function 'do_sigaltstack': >> kernel/signal.c:3154:1: error: unsupported operand size for extended register } ^ >> kernel/signal.c:3154:1: error: unsupported operand size for extended register >> kernel/signal.c:3154:1: error: unsupported operand size for extended register >> kernel/signal.c:3154:1: error: unsupported operand size for extended register >> kernel/signal.c:3154:1: error: unsupported operand size for extended register >> kernel/signal.c:3154:1: error: unsupported operand size for extended register -- net/socket.c: In function 'copy_msghdr_from_user': >> net/socket.c:1873:1: error: unsupported operand size for extended register } ^ >> net/socket.c:1873:1: error: unsupported operand size for extended register >> net/socket.c:1873:1: error: unsupported operand size for extended register >> net/socket.c:1873:1: error: unsupported operand size for extended register >> net/socket.c:1873:1: error: unsupported operand size for extended register >> net/socket.c:1873:1: error: unsupported operand size for extended register >> net/socket.c:1873:1: error: unsupported operand size for extended register >> net/socket.c:1873:1: error: unsupported operand size for extended register >> net/socket.c:1873:1: error: unsupported operand size for extended register >> net/socket.c:1873:1: error: unsupported operand size for extended register >> net/socket.c:1873:1: error: unsupported operand size for extended register >> net/socket.c:1873:1: error: unsupported operand size for extended register >> net/socket.c:1873:1: error: unsupported operand size for extended register >> net/socket.c:1873:1: error: unsupported operand size for extended register >> net/socket.c:1873:1: error: unsupported operand size for extended register vim +531 arch/x86/kernel/ptrace.c 91e7b707 Roland McGrath 2008-01-30 525 } 91e7b707 Roland McGrath 2008-01-30 526 } else { 91e7b707 Roland McGrath 2008-01-30 527 const unsigned long __user *u = ubuf; 04a1e62c Linus Torvalds 2009-12-17 528 while (count >= sizeof(*u) && !ret) { 91e7b707 Roland McGrath 2008-01-30 529 unsigned long word; 91e7b707 Roland McGrath 2008-01-30 530 ret = __get_user(word, u++); 91e7b707 Roland McGrath 2008-01-30 @531 if (ret) 91e7b707 Roland McGrath 2008-01-30 532 break; 91e7b707 Roland McGrath 2008-01-30 533 ret = putreg(target, pos, word); 91e7b707 Roland McGrath 2008-01-30 534 count -= sizeof(*u); 91e7b707 Roland McGrath 2008-01-30 @535 pos += sizeof(*u); 91e7b707 Roland McGrath 2008-01-30 536 } 91e7b707 Roland McGrath 2008-01-30 537 } 91e7b707 Roland McGrath 2008-01-30 538 return ret; :::::: The code at line 531 was first introduced by commit :::::: 91e7b707a4776185f91f03bd052aa53af820094e x86: x86 user_regset general regs :::::: TO: Roland McGrath :::::: CC: Ingo Molnar --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation