[tip:WIP.x86/apic 37/46] arch/x86/kernel/traps.c:892:1: error: 'xo' undeclared

From: kbuild test robot
Date: Sat Aug 26 2017 - 10:56:35 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.x86/apic
head: 6acaab8814cf6c7f77c1ee2e1ed266509573d5b4
commit: 8f1d566bc1f0f6e055a46728bfd906dd74a3f74c [37/46] x86/idt: Switch early trap init to IDT tables
config: x86_64-allmodconfig (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
git checkout 8f1d566bc1f0f6e055a46728bfd906dd74a3f74c
# save the attached .config to linux build tree
make ARCH=x86_64

All error/warnings (new ones prefixed by >>):

arch/x86/kernel/traps.c: In function 'do_device_not_available':
>> arch/x86/kernel/traps.c:892:1: error: 'xo' undeclared (first use in this function)
xo if (WARN(cr0 & X86_CR0_TS, "CR0.TS was set")) {
^~
arch/x86/kernel/traps.c:892:1: note: each undeclared identifier is reported only once for each function it appears in
>> arch/x86/kernel/traps.c:892:4: error: expected ';' before 'if'
xo if (WARN(cr0 & X86_CR0_TS, "CR0.TS was set")) {
^~
arch/x86/kernel/traps.c: At top level:
>> arch/x86/kernel/traps.c:926:1: warning: data definition has no type or storage class
xovoid __init trap_init(void)
^~~~~~
>> arch/x86/kernel/traps.c:926:1: error: type defaults to 'int' in declaration of 'xovoid' [-Werror=implicit-int]
>> arch/x86/kernel/traps.c:926:1: warning: '__cold__' attribute ignored [-Wattributes]
>> arch/x86/kernel/traps.c:926:15: error: expected ',' or ';' before 'trap_init'
xovoid __init trap_init(void)
^~~~~~~~~
cc1: some warnings being treated as errors

vim +/xo +892 arch/x86/kernel/traps.c

889
890 /* This should not happen. */
891 cr0 = read_cr0();
> 892 xo if (WARN(cr0 & X86_CR0_TS, "CR0.TS was set")) {
893 /* Try to fix it up and carry on. */
894 write_cr0(cr0 & ~X86_CR0_TS);
895 } else {
896 /*
897 * Something terrible happened, and we're better off trying
898 * to kill the task than getting stuck in a never-ending
899 * loop of #NM faults.
900 */
901 die("unexpected #NM exception", regs, error_code);
902 }
903 }
904 NOKPROBE_SYMBOL(do_device_not_available);
905
906 #ifdef CONFIG_X86_32
907 dotraplinkage void do_iret_error(struct pt_regs *regs, long error_code)
908 {
909 siginfo_t info;
910
911 RCU_LOCKDEP_WARN(!rcu_is_watching(), "entry code didn't wake RCU");
912 local_irq_enable();
913
914 info.si_signo = SIGILL;
915 info.si_errno = 0;
916 info.si_code = ILL_BADSTK;
917 info.si_addr = NULL;
918 if (notify_die(DIE_TRAP, "iret exception", regs, error_code,
919 X86_TRAP_IRET, SIGILL) != NOTIFY_STOP) {
920 do_trap(X86_TRAP_IRET, SIGILL, "iret exception", regs, error_code,
921 &info);
922 }
923 }
924 #endif
925
> 926 xovoid __init trap_init(void)
927 {
928 int i;
929
930 set_intr_gate(X86_TRAP_DE, divide_error);
931 set_intr_gate_ist(X86_TRAP_NMI, &nmi, NMI_STACK);
932 /* int4 can be called from all */
933 set_system_intr_gate(X86_TRAP_OF, &overflow);
934 set_intr_gate(X86_TRAP_BR, bounds);
935 set_intr_gate(X86_TRAP_UD, invalid_op);
936 set_intr_gate(X86_TRAP_NM, device_not_available);
937 #ifdef CONFIG_X86_32
938 set_task_gate(X86_TRAP_DF, GDT_ENTRY_DOUBLEFAULT_TSS);
939 #else
940 set_intr_gate_ist(X86_TRAP_DF, &double_fault, DOUBLEFAULT_STACK);
941 #endif
942 set_intr_gate(X86_TRAP_OLD_MF, coprocessor_segment_overrun);
943 set_intr_gate(X86_TRAP_TS, invalid_TSS);
944 set_intr_gate(X86_TRAP_NP, segment_not_present);
945 set_intr_gate(X86_TRAP_SS, stack_segment);
946 set_intr_gate(X86_TRAP_GP, general_protection);
947 set_intr_gate(X86_TRAP_SPURIOUS, spurious_interrupt_bug);
948 set_intr_gate(X86_TRAP_MF, coprocessor_error);
949 set_intr_gate(X86_TRAP_AC, alignment_check);
950 #ifdef CONFIG_X86_MCE
951 set_intr_gate_ist(X86_TRAP_MC, &machine_check, MCE_STACK);
952 #endif
953 set_intr_gate(X86_TRAP_XF, simd_coprocessor_error);
954
955 /* Reserve all the builtin and the syscall vector: */
956 for (i = 0; i < FIRST_EXTERNAL_VECTOR; i++)
957 set_bit(i, used_vectors);
958

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip