[tip:x86/paravirt 13/15] arch/x86/entry/entry_64.S:624: Error: invalid operands (*UND* and *ABS* sections) for `/'
From: kbuild test robot
Date: Tue Sep 04 2018 - 11:17:19 EST
tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/paravirt
head: 495310e4f2dd857c4d5a62806a04cb8ba53855c1
commit: 6da63eb241a05b0e676d68975e793c0521387141 [13/15] x86/paravirt: Move the pv_irq_ops under the PARAVIRT_XXL umbrella
config: x86_64-randconfig-g0-09032303 (attached as .config)
compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4
reproduce:
git checkout 6da63eb241a05b0e676d68975e793c0521387141
# save the attached .config to linux build tree
make ARCH=x86_64
:::::: branch date: 71 minutes ago
:::::: commit date: 71 minutes ago
All error/warnings (new ones prefixed by >>):
In file included from arch/x86/entry/entry_64.S:33:0:
>> arch/x86/include/asm/paravirt.h:938:0: warning: "SAVE_FLAGS" redefined
#define SAVE_FLAGS(clobbers) \
^
In file included from arch/x86/entry/entry_64.S:32:0:
arch/x86/include/asm/irqflags.h:127:0: note: this is the location of the previous definition
#define SAVE_FLAGS(x) pushfq; popq %rax
^
arch/x86/entry/entry_64.S: Assembler messages:
>> arch/x86/entry/entry_64.S:624: Error: invalid operands (*UND* and *UND* sections) for `+'
arch/x86/entry/entry_64.S:649: Error: invalid operands (*UND* and *UND* sections) for `+'
arch/x86/entry/entry_64.S:1046: Error: invalid operands (*UND* and *UND* sections) for `+'
arch/x86/entry/entry_64.S:1048: Error: invalid operands (*UND* and *UND* sections) for `+'
>> arch/x86/entry/entry_64.S:624: Error: invalid operands (*UND* and *ABS* sections) for `/'
arch/x86/entry/entry_64.S:649: Error: invalid operands (*UND* and *ABS* sections) for `/'
arch/x86/entry/entry_64.S:1046: Error: invalid operands (*UND* and *ABS* sections) for `/'
arch/x86/entry/entry_64.S:1048: Error: invalid operands (*UND* and *ABS* sections) for `/'
# https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=6da63eb241a05b0e676d68975e793c0521387141
git remote add tip https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git
git remote update tip
git checkout 6da63eb241a05b0e676d68975e793c0521387141
vim +624 arch/x86/entry/entry_64.S
1d3e53e86 arch/x86/entry/entry_64.S Andy Lutomirski 2017-07-11 546
939b78713 arch/x86/kernel/entry_64.S H. Peter Anvin 2008-11-11 547 /*
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 548 * Interrupt entry helper function.
^1da177e4 arch/x86_64/kernel/entry.S Linus Torvalds 2005-04-16 549 *
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 550 * Entry runs with interrupts off. Stack layout at entry:
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 551 * +----------------------------------------------------+
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 552 * | regs->ss |
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 553 * | regs->rsp |
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 554 * | regs->eflags |
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 555 * | regs->cs |
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 556 * | regs->ip |
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 557 * +----------------------------------------------------+
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 558 * | regs->orig_ax = ~(interrupt number) |
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 559 * +----------------------------------------------------+
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 560 * | return address |
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 561 * +----------------------------------------------------+
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 562 */
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 563 ENTRY(interrupt_entry)
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 564 UNWIND_HINT_FUNC
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 565 ASM_CLAC
f6f64681d arch/x86/kernel/entry_64.S Denys Vlasenko 2015-01-08 566 cld
7f2590a11 arch/x86/entry/entry_64.S Andy Lutomirski 2017-12-04 567
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 568 testb $3, CS-ORIG_RAX+8(%rsp)
7f2590a11 arch/x86/entry/entry_64.S Andy Lutomirski 2017-12-04 569 jz 1f
7f2590a11 arch/x86/entry/entry_64.S Andy Lutomirski 2017-12-04 570 SWAPGS
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 571
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 572 /*
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 573 * Switch to the thread stack. The IRET frame and orig_ax are
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 574 * on the stack, as well as the return address. RDI..R12 are
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 575 * not (yet) on the stack and space has not (yet) been
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 576 * allocated for them.
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 577 */
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 578 pushq %rdi
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 579
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 580 /* Need to switch before accessing the thread stack. */
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 581 SWITCH_TO_KERNEL_CR3 scratch_reg=%rdi
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 582 movq %rsp, %rdi
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 583 movq PER_CPU_VAR(cpu_current_top_of_stack), %rsp
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 584
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 585 /*
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 586 * We have RDI, return address, and orig_ax on the stack on
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 587 * top of the IRET frame. That means offset=24
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 588 */
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 589 UNWIND_HINT_IRET_REGS base=%rdi offset=24
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 590
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 591 pushq 7*8(%rdi) /* regs->ss */
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 592 pushq 6*8(%rdi) /* regs->rsp */
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 593 pushq 5*8(%rdi) /* regs->eflags */
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 594 pushq 4*8(%rdi) /* regs->cs */
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 595 pushq 3*8(%rdi) /* regs->ip */
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 596 pushq 2*8(%rdi) /* regs->orig_ax */
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 597 pushq 8(%rdi) /* return address */
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 598 UNWIND_HINT_FUNC
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 599
90a6acc4e arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 600 movq (%rdi), %rdi
7f2590a11 arch/x86/entry/entry_64.S Andy Lutomirski 2017-12-04 601 1:
7f2590a11 arch/x86/entry/entry_64.S Andy Lutomirski 2017-12-04 602
0e34d2263 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 603 PUSH_AND_CLEAR_REGS save_ret=1
0e34d2263 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 604 ENCODE_FRAME_POINTER 8
76f5df43c arch/x86/kernel/entry_64.S Denys Vlasenko 2015-02-26 605
2ba647410 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 606 testb $3, CS+8(%rsp)
dde74f2e4 arch/x86/kernel/entry_64.S Denys Vlasenko 2015-04-27 607 jz 1f
02bc7768f arch/x86/entry/entry_64.S Andy Lutomirski 2015-07-03 608
02bc7768f arch/x86/entry/entry_64.S Andy Lutomirski 2015-07-03 609 /*
7f2590a11 arch/x86/entry/entry_64.S Andy Lutomirski 2017-12-04 610 * IRQ from user mode.
7f2590a11 arch/x86/entry/entry_64.S Andy Lutomirski 2017-12-04 611 *
f10750536 arch/x86/entry/entry_64.S Andy Lutomirski 2015-11-12 612 * We need to tell lockdep that IRQs are off. We can't do this until
f10750536 arch/x86/entry/entry_64.S Andy Lutomirski 2015-11-12 613 * we fix gsbase, and we should do it before enter_from_user_mode
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 614 * (which can take locks). Since TRACE_IRQS_OFF is idempotent,
f10750536 arch/x86/entry/entry_64.S Andy Lutomirski 2015-11-12 615 * the simplest way to handle it is to just call it twice if
f10750536 arch/x86/entry/entry_64.S Andy Lutomirski 2015-11-12 616 * we enter from user mode. There's no reason to optimize this since
f10750536 arch/x86/entry/entry_64.S Andy Lutomirski 2015-11-12 617 * TRACE_IRQS_OFF is a no-op if lockdep is off.
f10750536 arch/x86/entry/entry_64.S Andy Lutomirski 2015-11-12 618 */
f10750536 arch/x86/entry/entry_64.S Andy Lutomirski 2015-11-12 619 TRACE_IRQS_OFF
f10750536 arch/x86/entry/entry_64.S Andy Lutomirski 2015-11-12 620
478dc89cf arch/x86/entry/entry_64.S Andy Lutomirski 2015-11-12 621 CALL_enter_from_user_mode
02bc7768f arch/x86/entry/entry_64.S Andy Lutomirski 2015-07-03 622
76f5df43c arch/x86/kernel/entry_64.S Denys Vlasenko 2015-02-26 623 1:
2ba647410 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 @624 ENTER_IRQ_STACK old_rsp=%rdi save_ret=1
f6f64681d arch/x86/kernel/entry_64.S Denys Vlasenko 2015-01-08 625 /* We entered an interrupt context - irqs are off: */
f6f64681d arch/x86/kernel/entry_64.S Denys Vlasenko 2015-01-08 626 TRACE_IRQS_OFF
f6f64681d arch/x86/kernel/entry_64.S Denys Vlasenko 2015-01-08 627
2ba647410 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 628 ret
2ba647410 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 629 END(interrupt_entry)
2ba647410 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 630
f3d415ea4 arch/x86/entry/entry_64.S Dominik Brodowski 2018-02-20 631
:::::: The code at line 624 was first introduced by commit
:::::: 2ba6474104a1132c4af9f6dc42c6bfe3ca71f8c7 x86/entry/64: Move ENTER_IRQ_STACK from interrupt macro to interrupt_entry
:::::: TO: Dominik Brodowski <linux@xxxxxxxxxxxxxxxxxxxx>
:::::: CC: Ingo Molnar <mingo@xxxxxxxxxx>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip