Skip to contentSkip to conversation

New: arch/x86/kvm/vmx.c:8719: Error: symbol `vmx_return' is already defined

Bug 115081 [email protected] 1 participant 25 messages Mar 21, 2016 – Mar 31, 2016 KVM

lore
Share & tools
lore
#0 lore raw

https://bugzilla.kernel.org/show_bug.cgi?id=115081

            Bug ID: 115081
           Summary: arch/x86/kvm/vmx.c:8719: Error: symbol `vmx_return' is
                    already defined
           Product: Virtualization
           Version: unspecified
    Kernel Version: 4.5
          Hardware: x86-64
                OS: Linux
              Tree: Mainline
            Status: NEW
          Severity: blocking
          Priority: P1
         Component: kvm
          Assignee: [email protected]
          Reporter: [email protected]
        Regression: Yes

Created attachment 210151
--> https://bugzilla.kernel.org/attachment.cgi?id=210151&action=edit
make output

I am getting an error in compiling the 4.5 sources (patched up from 4.4).

After getting the error, I d/l'd the full source and compared the file above -- and it was identical to the above file.

I searched for the symbol "vmx_return" under the "arch/x86" dir, but only found it referenced in the above ".c" file.

I didn't get this error in the previous 4.4 line (I made 4.4.1 & 4.4.3) and current kernel-uname shows:

Linux Ishtar 4.4.3-Isht-Van #2 SMP PREEMPT Thu Feb 25 22:53:27 PST 2016 x86_64 x86_64 x86_64 GNU/Linux

At this point, I can't see why I'd get the above error. Make output and ".config" attached.

Signature · 2 lines
You are receiving this mail because:
You are watching the assignee of the bug.
#2 lore raw

[Bug 115081] arch/x86/kvm/vmx.c:8719: Error: symbol `vmx_return' is already defined

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=115081

[email protected] changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |[email protected]

--- Comment #2 from [email protected] ---
Try making that variable non extern as it has no need to be outside defined for outside the file you are getting a build error in.

Signature · 2 lines
You are receiving this mail because:
You are watching the assignee of the bug.
#3 lore raw

[Bug 115081] arch/x86/kvm/vmx.c:8719: Error: symbol `vmx_return' is already defined

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=115081

--- Comment #3 from Linda Walsh <[email protected]> --- You mean like this:
Ishtar:linux/ish-45/arch/x86/kvm> diff vmx.bak vmx.c 165c165
< extern const ulong vmx_return;
---

Quoted 1 line

const ulong vmx_return;

???
No go:
Ishtar:linux/ish-45> make

  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/basic/bin2c
  HOSTCC  arch/x86/tools/relocs_32.o
  HOSTCC  arch/x86/tools/relocs_64.o
  HOSTCC  arch/x86/tools/relocs_common.o
  HOSTLD  arch/x86/tools/relocs
  CHK     include/config/kernel.release
  CHK     include/generated/uapi/linux/version.h
  CHK     include/generated/utsrelease.h
  CC      arch/x86/purgatory/purgatory.o
  AS      arch/x86/purgatory/stack.o
  AS      arch/x86/purgatory/setup-x86_64.o
  CC      arch/x86/purgatory/sha256.o
  AS      arch/x86/purgatory/entry64.o
  CC      arch/x86/purgatory/string.o
  LD      arch/x86/purgatory/purgatory.ro
  BIN2C   arch/x86/purgatory/kexec-purgatory.c
  CC      kernel/bounds.s
  CHK     include/generated/bounds.h
  CHK     include/generated/timeconst.h
  CC      arch/x86/kernel/asm-offsets.s
  CHK     include/generated/asm-offsets.h
  CALL    scripts/checksyscalls.sh
  HOSTCC  scripts/genksyms/genksyms.o
  HOSTCC  scripts/genksyms/parse.tab.o
  HOSTCC  scripts/genksyms/lex.lex.o
  HOSTLD  scripts/genksyms/genksyms
  CC      scripts/mod/empty.o
  HOSTCC  scripts/mod/mk_elfconfig
  MKELF   scripts/mod/elfconfig.h
  HOSTCC  scripts/mod/modpost.o
  CC      scripts/mod/devicetable-offsets.s
  GEN     scripts/mod/devicetable-offsets.h
  HOSTCC  scripts/mod/file2alias.o
  HOSTCC  scripts/mod/sumversion.o
  HOSTLD  scripts/mod/modpost
  HOSTCC  scripts/kallsyms
  HOSTCC  scripts/conmakehash
  HOSTCC  scripts/recordmcount
  HOSTCC  scripts/sortextable
  HOSTCC  scripts/extract-cert
  CC      init/main.o
  CHK     include/generated/compile.h
  CC      init/version.o
  CC      init/do_mounts.o
  LD      init/mounts.o
  CC      init/noinitramfs.o
  CC      init/calibrate.o
  CC      init/init_task.o
  LD      init/built-in.o
  LD      usr/built-in.o
  CC      arch/x86/crypto/crc32c-intel_glue.o
  AS      arch/x86/crypto/crc32c-pcl-intel-asm_64.o
  LD      arch/x86/crypto/crc32c-intel.o
  LD      arch/x86/crypto/built-in.o
  AS [M]  arch/x86/crypto/aes-x86_64-asm_64.o
  CC [M]  arch/x86/crypto/aes_glue.o
  LD [M]  arch/x86/crypto/aes-x86_64.o
  AS [M]  arch/x86/crypto/des3_ede-asm_64.o
  CC [M]  arch/x86/crypto/des3_ede_glue.o
  LD [M]  arch/x86/crypto/des3_ede-x86_64.o
  AS [M]  arch/x86/crypto/sha1_ssse3_asm.o
  CC [M]  arch/x86/crypto/sha1_ssse3_glue.o
  AS [M]  arch/x86/crypto/sha1_avx2_x86_64_asm.o
  AS [M]  arch/x86/crypto/sha1_ni_asm.o
  LD [M]  arch/x86/crypto/sha1-ssse3.o
  AS [M]  arch/x86/crypto/crc32-pclmul_asm.o
  CC [M]  arch/x86/crypto/crc32-pclmul_glue.o
  LD [M]  arch/x86/crypto/crc32-pclmul.o
  AS [M]  arch/x86/crypto/sha256-ssse3-asm.o
  AS [M]  arch/x86/crypto/sha256-avx-asm.o
  AS [M]  arch/x86/crypto/sha256-avx2-asm.o
  CC [M]  arch/x86/crypto/sha256_ssse3_glue.o
  AS [M]  arch/x86/crypto/sha256_ni_asm.o
  LD [M]  arch/x86/crypto/sha256-ssse3.o
  AS [M]  arch/x86/crypto/sha512-ssse3-asm.o
  AS [M]  arch/x86/crypto/sha512-avx-asm.o
  AS [M]  arch/x86/crypto/sha512-avx2-asm.o
  CC [M]  arch/x86/crypto/sha512_ssse3_glue.o
  LD [M]  arch/x86/crypto/sha512-ssse3.o
  AS      arch/x86/entry/entry_64.o
  AS      arch/x86/entry/thunk_64.o
  CC      arch/x86/entry/syscall_64.o
  CC      arch/x86/entry/common.o
  CC      arch/x86/entry/vdso/vma.o
  CC      arch/x86/entry/vdso/vdso32-setup.o
  LDS     arch/x86/entry/vdso/vdso.lds
  AS      arch/x86/entry/vdso/vdso-note.o
  CC      arch/x86/entry/vdso/vclock_gettime.o
  CC      arch/x86/entry/vdso/vgetcpu.o
  VDSO    arch/x86/entry/vdso/vdso64.so.dbg
  HOSTCC  arch/x86/entry/vdso/vdso2c
  OBJCOPY arch/x86/entry/vdso/vdso64.so
  VDSO2C  arch/x86/entry/vdso/vdso-image-64.c
  CC      arch/x86/entry/vdso/vdso-image-64.o
  LDS     arch/x86/entry/vdso/vdso32/vdso32.lds
  CC      arch/x86/entry/vdso/vdso32/vclock_gettime.o
  AS      arch/x86/entry/vdso/vdso32/note.o
  AS      arch/x86/entry/vdso/vdso32/system_call.o
  VDSO    arch/x86/entry/vdso/vdso32.so.dbg
  OBJCOPY arch/x86/entry/vdso/vdso32.so
  VDSO2C  arch/x86/entry/vdso/vdso-image-32.c
  CC      arch/x86/entry/vdso/vdso-image-32.o
  LD      arch/x86/entry/vdso/built-in.o
  CC      arch/x86/entry/vsyscall/vsyscall_gtod.o
  CC      arch/x86/entry/vsyscall/vsyscall_64.o
  AS      arch/x86/entry/vsyscall/vsyscall_emu_64.o
  LD      arch/x86/entry/vsyscall/built-in.o
  AS      arch/x86/entry/entry_64_compat.o
  CC      arch/x86/entry/syscall_32.o
  LD      arch/x86/entry/built-in.o
  CC      arch/x86/ia32/sys_ia32.o
  CC      arch/x86/ia32/ia32_signal.o
  LD      arch/x86/ia32/built-in.o
  CC [M]  arch/x86/ia32/ia32_aout.o
  CC      arch/x86/kernel/process_64.o
  CC      arch/x86/kernel/signal.o
  CC      arch/x86/kernel/signal_compat.o
  CC      arch/x86/kernel/traps.o
  CC      arch/x86/kernel/irq.o
  CC      arch/x86/kernel/irq_64.o
  CC      arch/x86/kernel/dumpstack_64.o
  CC      arch/x86/kernel/time.o
  CC      arch/x86/kernel/ioport.o
  CC      arch/x86/kernel/dumpstack.o
  CC      arch/x86/kernel/nmi.o
  CC      arch/x86/kernel/setup.o
  CC      arch/x86/kernel/x86_init.o
  CC      arch/x86/kernel/i8259.o
  CC      arch/x86/kernel/irqinit.o
  CC      arch/x86/kernel/jump_label.o
  CC      arch/x86/kernel/irq_work.o
  CC      arch/x86/kernel/probe_roms.o
  CC      arch/x86/kernel/sys_x86_64.o
  CC      arch/x86/kernel/x8664_ksyms_64.o
  AS      arch/x86/kernel/mcount_64.o
  CC      arch/x86/kernel/ksysfs.o
  CC      arch/x86/kernel/bootflag.o
  CC      arch/x86/kernel/e820.o
  CC      arch/x86/kernel/pci-dma.o
  CC      arch/x86/kernel/quirks.o
  CC      arch/x86/kernel/topology.o
  CC      arch/x86/kernel/kdebugfs.o
  CC      arch/x86/kernel/alternative.o
  CC      arch/x86/kernel/i8253.o
  CC      arch/x86/kernel/pci-nommu.o
  CC      arch/x86/kernel/hw_breakpoint.o
  CC      arch/x86/kernel/tsc.o
  CC      arch/x86/kernel/tsc_msr.o
  CC      arch/x86/kernel/io_delay.o
  CC      arch/x86/kernel/rtc.o
  CC      arch/x86/kernel/pci-iommu_table.o
  CC      arch/x86/kernel/resource.o
  CC      arch/x86/kernel/process.o
  CC      arch/x86/kernel/acpi/boot.o
  CC      arch/x86/kernel/acpi/apei.o
  CC      arch/x86/kernel/acpi/cstate.o
  LD      arch/x86/kernel/acpi/built-in.o
  CC      arch/x86/kernel/apic/apic.o
  CC      arch/x86/kernel/apic/apic_noop.o
  CC      arch/x86/kernel/apic/ipi.o
  CC      arch/x86/kernel/apic/vector.o
  CC      arch/x86/kernel/apic/hw_nmi.o
  CC      arch/x86/kernel/apic/io_apic.o
  CC      arch/x86/kernel/apic/msi.o
  CC      arch/x86/kernel/apic/x2apic_phys.o
  CC      arch/x86/kernel/apic/x2apic_cluster.o
  CC      arch/x86/kernel/apic/apic_flat_64.o
  CC      arch/x86/kernel/apic/probe_64.o
  LD      arch/x86/kernel/apic/built-in.o
  CC      arch/x86/kernel/cpu/intel_cacheinfo.o
  CC      arch/x86/kernel/cpu/scattered.o
  CC      arch/x86/kernel/cpu/topology.o
  CC      arch/x86/kernel/cpu/common.o
  CC      arch/x86/kernel/cpu/rdrand.o
  CC      arch/x86/kernel/cpu/match.o
  CC      arch/x86/kernel/cpu/proc.o
  MKCAP   arch/x86/kernel/cpu/capflags.c
  CC      arch/x86/kernel/cpu/capflags.o
  CC      arch/x86/kernel/cpu/powerflags.o
  CC      arch/x86/kernel/cpu/bugs_64.o
  CC      arch/x86/kernel/cpu/intel.o
  CC      arch/x86/kernel/cpu/perf_event.o
  CC      arch/x86/kernel/cpu/perf_event_p6.o
  CC      arch/x86/kernel/cpu/perf_event_knc.o
  CC      arch/x86/kernel/cpu/perf_event_p4.o
  CC      arch/x86/kernel/cpu/perf_event_intel_lbr.o
  CC      arch/x86/kernel/cpu/perf_event_intel_ds.o
  CC      arch/x86/kernel/cpu/perf_event_intel.o
  CC      arch/x86/kernel/cpu/perf_event_intel_rapl.o
  CC      arch/x86/kernel/cpu/perf_event_intel_cqm.o
  CC      arch/x86/kernel/cpu/perf_event_intel_pt.o
  CC      arch/x86/kernel/cpu/perf_event_intel_bts.o
  CC      arch/x86/kernel/cpu/perf_event_intel_cstate.o
  CC      arch/x86/kernel/cpu/perf_event_intel_uncore.o
  CC      arch/x86/kernel/cpu/perf_event_intel_uncore_snb.o
  CC      arch/x86/kernel/cpu/perf_event_intel_uncore_snbep.o
  CC      arch/x86/kernel/cpu/perf_event_intel_uncore_nhmex.o
  CC      arch/x86/kernel/cpu/perf_event_msr.o
  CC      arch/x86/kernel/cpu/mcheck/mce.o
  CC      arch/x86/kernel/cpu/mcheck/mce-severity.o
  CC      arch/x86/kernel/cpu/mcheck/mce-genpool.o
  CC      arch/x86/kernel/cpu/mcheck/mce_intel.o
  CC      arch/x86/kernel/cpu/mcheck/threshold.o
  CC      arch/x86/kernel/cpu/mcheck/therm_throt.o
  CC      arch/x86/kernel/cpu/mcheck/mce-apei.o
  LD      arch/x86/kernel/cpu/mcheck/built-in.o
  CC      arch/x86/kernel/cpu/mtrr/main.o
  CC      arch/x86/kernel/cpu/mtrr/if.o
  CC      arch/x86/kernel/cpu/mtrr/generic.o
  CC      arch/x86/kernel/cpu/mtrr/cleanup.o
  LD      arch/x86/kernel/cpu/mtrr/built-in.o
  CC      arch/x86/kernel/cpu/perfctr-watchdog.o
  CC      arch/x86/kernel/cpu/perf_event_amd_ibs.o
  LD      arch/x86/kernel/cpu/built-in.o
  CC      arch/x86/kernel/fpu/init.o
  CC      arch/x86/kernel/fpu/bugs.o
  CC      arch/x86/kernel/fpu/core.o
  CC      arch/x86/kernel/fpu/regset.o
  CC      arch/x86/kernel/fpu/signal.o
  CC      arch/x86/kernel/fpu/xstate.o
  LD      arch/x86/kernel/fpu/built-in.o
  CC      arch/x86/kernel/kprobes/core.o
  CC      arch/x86/kernel/kprobes/ftrace.o
  LD      arch/x86/kernel/kprobes/built-in.o
  CC      arch/x86/kernel/ptrace.o
  CC      arch/x86/kernel/tls.o
  CC      arch/x86/kernel/step.o
  CC      arch/x86/kernel/i8237.o
  CC      arch/x86/kernel/stacktrace.o
  CC      arch/x86/kernel/reboot.o
  CC      arch/x86/kernel/msr.o
  CC      arch/x86/kernel/cpuid.o
  CC      arch/x86/kernel/early-quirks.o
  CC      arch/x86/kernel/smp.o
  CC      arch/x86/kernel/smpboot.o
  CC      arch/x86/kernel/tsc_sync.o
  CC      arch/x86/kernel/setup_percpu.o
  CC      arch/x86/kernel/ftrace.o
  CC      arch/x86/kernel/trace_clock.o
  CC      arch/x86/kernel/machine_kexec_64.o
  AS      arch/x86/kernel/relocate_kernel_64.o
  CC      arch/x86/kernel/crash.o
  CC      arch/x86/kernel/kexec-bzimage64.o
  CC      arch/x86/kernel/crash_dump_64.o
  CC      arch/x86/kernel/module.o
  CC      arch/x86/kernel/doublefault.o
  CC      arch/x86/kernel/hpet.o
  CC      arch/x86/kernel/pcspeaker.o
  CC      arch/x86/kernel/pci-swiotlb.o
  CC      arch/x86/kernel/uprobes.o
  CC      arch/x86/kernel/sysfb.o
  CC      arch/x86/kernel/sysfb_simplefb.o
  CC      arch/x86/kernel/sysfb_efi.o
  CC      arch/x86/kernel/perf_regs.o
  CC      arch/x86/kernel/tracepoint.o
  CC      arch/x86/kernel/mmconf-fam10h_64.o
  CC      arch/x86/kernel/vsmp_64.o
  LD      arch/x86/kernel/built-in.o
  AS      arch/x86/kernel/head_64.o
  CC      arch/x86/kernel/head64.o
  CC      arch/x86/kernel/head.o
  LDS     arch/x86/kernel/vmlinux.lds
  LD      arch/x86/kvm/built-in.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/kvm_main.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/coalesced_mmio.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/eventfd.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/irqchip.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/vfio.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/async_pf.o
  CC [M]  arch/x86/kvm/x86.o
  CC [M]  arch/x86/kvm/mmu.o
  CC [M]  arch/x86/kvm/emulate.o
  CC [M]  arch/x86/kvm/i8259.o
  CC [M]  arch/x86/kvm/irq.o
  CC [M]  arch/x86/kvm/lapic.o
  CC [M]  arch/x86/kvm/i8254.o
  CC [M]  arch/x86/kvm/ioapic.o
  CC [M]  arch/x86/kvm/irq_comm.o
  CC [M]  arch/x86/kvm/cpuid.o
  CC [M]  arch/x86/kvm/pmu.o
  CC [M]  arch/x86/kvm/mtrr.o
  CC [M]  arch/x86/kvm/hyperv.o
  CC [M]  arch/x86/kvm/assigned-dev.o
  CC [M]  arch/x86/kvm/iommu.o
  LD [M]  arch/x86/kvm/kvm.o
  CC [M]  arch/x86/kvm/vmx.o

arch/x86/kvm/vmx.c: Assembler messages:
arch/x86/kvm/vmx.c:8719: Error: symbol vmx_return' is already defined {standard input}:43681: Error: symbol vmx_return' is already defined scripts/Makefile.build:258: recipe for target 'arch/x86/kvm/vmx.o' failed make[2]: *** [arch/x86/kvm/vmx.o] Error 1 scripts/Makefile.build:407: recipe for target 'arch/x86/kvm' failed make[1]: *** [arch/x86/kvm] Error 2
Makefile:950: recipe for target 'arch/x86' failed
make: *** [arch/x86] Error 2

Signature · 2 lines
You are receiving this mail because:
You are watching the assignee of the bug.
#4 lore raw

[Bug 115081] arch/x86/kvm/vmx.c:8719: Error: symbol `vmx_return' is already defined

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=115081

--- Comment #4 from Linda Walsh <[email protected]> ---
Looking at this and not being very familiar w/the dialect of x86-64 assembler used, it looks like the intent of the extern with the

    extern const ulong vmx_return;

was to create a forward reference for the C-statement:

    vmcs_writel(HOST_RIP, vmx_return); /* 22.2.5 */

With 'vmx_return' being defined in the assembler, below:

".pushsection .rodata \n\t"
".global vmx_return \n\t"
"vmx_return: " _ASM_PTR " 2b \n\t"
".popsection"

It appears with the "push+pop-section, the bit in between is not "inline", but placed in the separate "rodata" area.

Is 2b supposed to be a value for initialization, or a size, or some number of _ASM_PTR's?

Either way, it sorta looks it might be easier if the ASM code defining the symbol should come before the C-Reference.

As it is now, the C-statement:

[extern] const ulong vmx_return

defines the "vmx_return" symbol as either an external reference, or as a global symbol (a "first" definition), with the ASM-code,

".global vmx_return \n\t"

declaring a 2nd vmx_return that is global and
and defined /allocated/initialized by the

        "vmx_return: " _ASM_PTR " 2b \n\t"

statement.

But I really don't know this asm dialect nor whether or not the usage of "vmx_return" in C must occur after the ASM definition or not.

Signature · 2 lines
You are receiving this mail because:
You are watching the assignee of the bug.
#5 lore raw

[Bug 115081] arch/x86/kvm/vmx.c:8719: Error: symbol `vmx_return' is already defined

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=115081

--- Comment #5 from [email protected] ---
It probably doesn't. Basically this is inline asm assembly for C using intel instructions so try removing the line for the C definition of vmx_return.

Signature · 2 lines
You are receiving this mail because:
You are watching the assignee of the bug.
#6 lore raw

[Bug 115081] arch/x86/kvm/vmx.c:8719: Error: symbol `vmx_return' is already defined

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=115081

--- Comment #6 from Linda Walsh <[email protected]> --- i.e.:
Ishtar:linux/ish-45/arch/x86/kvm> diff vmx.bak vmx.c 165c165
< extern const ulong vmx_return;
---

Quoted 1 line

/*extern const ulong vmx_return;*/

??
---
Nep.

Ishtar:linux/ish-45> make

  CHK     include/config/kernel.release
  CHK     include/generated/uapi/linux/version.h
  CHK     include/generated/utsrelease.h
  CHK     include/generated/bounds.h
  CHK     include/generated/timeconst.h
  CHK     include/generated/asm-offsets.h
  CALL    scripts/checksyscalls.sh
  CHK     include/generated/compile.h
  CC [M]  arch/x86/kvm/vmx.o

arch/x86/kvm/vmx.c: In function ‘vmx_set_constant_host_state’:
arch/x86/kvm/vmx.c:4716:24: error: ‘vmx_return’ undeclared (first use in this function)
vmcs_writel(HOST_RIP, vmx_return); /* 22.2.5 */

                        ^

arch/x86/kvm/vmx.c:4716:24: note: each undeclared identifier is reported only once for each function it appears in
scripts/Makefile.build:258: recipe for target 'arch/x86/kvm/vmx.o' failed make[2]: *** [arch/x86/kvm/vmx.o] Error 1 scripts/Makefile.build:407: recipe for target 'arch/x86/kvm' failed make[1]: *** [arch/x86/kvm] Error 2
Makefile:950: recipe for target 'arch/x86' failed
make: *** [arch/x86] Error 2

Signature · 2 lines
You are receiving this mail because:
You are watching the assignee of the bug.
#7 lore raw

[Bug 115081] arch/x86/kvm/vmx.c:8719: Error: symbol `vmx_return' is already defined

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=115081

Paolo Bonzini <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |[email protected]

--- Comment #7 from Paolo Bonzini <[email protected]> --- Please stop giving instructions if you have no clue.

Signature · 2 lines
You are receiving this mail because:
You are watching the assignee of the bug.
#8 lore raw

[Bug 115081] arch/x86/kvm/vmx.c:8719: Error: symbol `vmx_return' is already defined

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=115081

--- Comment #8 from Paolo Bonzini <[email protected]> --- Linda, please do the following:

1) reproduce with just "make V=1 arch/x86/kvm/". By omitting the -j the output of make becomes easier to follow.

2) copy and paste the line that fails, and add --save-temps at the end.

3) attach the resulting arch/x86/kvm/vmx.s file to the bug.

Signature · 2 lines
You are receiving this mail because:
You are watching the assignee of the bug.
#9 lore raw

[Bug 115081] arch/x86/kvm/vmx.c:8719: Error: symbol `vmx_return' is already defined

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=115081

--- Comment #9 from Linda Walsh <[email protected]> ---
I'm not getting an arch/x86/kvm/vmx.s:
gcc -Wp,-MD,arch/x86/kvm/.vmx.o.d -nostdinc -isystem
/usr/lib64/gcc/x86_64-suse-linux/4.9/include -I./arch/x86/include -Iarch/x86/include/generated/uapi -Iarch/x86/include/generated -Iinclude -I./arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I./include/uapi -Iinclude/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -O2 -fweb -fpredictive-commoning -fbranch-target-load-optimize -fgcse-after-reload -fgcse-las -fgcse-sm -fgraphite-identity -fipa-pta -fivopts -floop-block -floop-flatten -floop-interchange -floop-strip-mine -frename-registers -freorder-blocks-and-partition -ftree-loop-linear -ftree-loop-distribution -ftree-loop-distribute-patterns -ftree-loop-im -ftree-loop-ivcanon -ftree-vectorize -ftree-slp-vectorize -funswitch-loops -funwind-tables -fvariable-expansion-in-unroller -fvect-cost-model -fno-common -ftracer -march=native -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_SSSE3=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -DCONFIG_AS_SHA1_NI=1 -DCONFIG_AS_SHA256_NI=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -fno-delete-null-pointer-checks -O2 --param=allow-store-data-races=0 -Wframe-larger-than=8192 -fstack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCC_HAVE_ASM_GOTO -Iarch/x86/kvm -I. -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(vmx)" -D"KBUILD_MODNAME=KBUILD_STR(kvm_intel)" -c -o arch/x86/kvm/.tmp_vmx.o arch/x86/kvm/vmx.c --save-temps
gcc: warning: -pipe ignored because -save-temps specified arch/x86/kvm/vmx.c: In function ‘vmx_set_constant_host_state’:
arch/x86/kvm/vmx.c:4716:24: error: ‘vmx_return’ undeclared (first use in this function)
vmcs_writel(HOST_RIP, vmx_return); /* 22.2.5 */

                        ^

arch/x86/kvm/vmx.c:4716:24: note: each undeclared identifier is reported only once for each function it appears in
Ishtar:linux/ish-45> ll arch/x86/kvm/vmx.s
ls: cannot access arch/x86/kvm/vmx.s: No such file or directory

Signature · 2 lines
You are receiving this mail because:
You are watching the assignee of the bug.
#10 lore raw

[Bug 115081] arch/x86/kvm/vmx.c:8719: Error: symbol `vmx_return' is already defined

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=115081

--- Comment #10 from Linda Walsh <[email protected]> ---
Ignore that one -- still had some source changes I'd tried to see if they worked.

Still no vmx.s:

gcc -Wp,-MD,arch/x86/kvm/.vmx.o.d -nostdinc -isystem /usr/lib64/gcc/x86_64-suse-linux/4.9/include -I./arch/x86/include -Iarch/x86/include/generated/uapi -Iarch/x86/include/generated -Iinclude -I./arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I./include/uapi -Iinclude/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -O2 -fweb -fpredictive-commoning -fbranch-target-load-optimize -fgcse-after-reload -fgcse-las -fgcse-sm -fgraphite-identity -fipa-pta -fivopts -floop-block -floop-flatten -floop-interchange -floop-strip-mine -frename-registers -freorder-blocks-and-partition -ftree-loop-linear -ftree-loop-distribution -ftree-loop-distribute-patterns -ftree-loop-im -ftree-loop-ivcanon -ftree-vectorize -ftree-slp-vectorize -funswitch-loops -funwind-tables -fvariable-expansion-in-unroller -fvect-cost-model -fno-common -ftracer -march=native -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_SSSE3=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -DCONFIG_AS_SHA1_NI=1 -DCONFIG_AS_SHA256_NI=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -fno-delete-null-pointer-checks -O2 --param=allow-store-data-races=0 -Wframe-larger-than=8192 -fstack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCC_HAVE_ASM_GOTO -Iarch/x86/kvm -I. -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(vmx)" -D"KBUILD_MODNAME=KBUILD_STR(kvm_intel)" -c -o arch/x86/kvm/.tmp_vmx.o arch/x86/kvm/vmx.c --save-temps
gcc: warning: -pipe ignored because -save-temps specified arch/x86/kvm/vmx.c: Assembler messages:
arch/x86/kvm/vmx.c:8719: Error: symbol `vmx_return' is already defined Ishtar:linux/ish-45> ll arch/x86/kvm/vmx.s
ls: cannot access arch/x86/kvm/vmx.s: No such file or directory

Signature · 2 lines
You are receiving this mail because:
You are watching the assignee of the bug.
#11 lore raw

[Bug 115081] arch/x86/kvm/vmx.c:8719: Error: symbol `vmx_return' is already defined

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=115081

Paolo Bonzini <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |NEEDINFO

--- Comment #11 from Paolo Bonzini <[email protected]> ---
Please check if you get a vmx.s in the top directory of the Linux source code (i.e. just ./vmx.s).

Signature · 2 lines
You are receiving this mail because:
You are watching the assignee of the bug.
#14 lore raw

[Bug 115081] arch/x86/kvm/vmx.c:8719: Error: symbol `vmx_return' is already defined

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=115081

--- Comment #14 from Linda Walsh <[email protected]> --- Bingo:

Ishtar:linux/ish-45> ll vmx.?
-rw-rw-r-- 1 2316583 Mar 25 10:15 vmx.i
-rw-rw-r-- 1 747900 Mar 25 10:15 vmx.s

(xz on both -- adding as attachments):

Ishtar:linux/ish-45> ll vmx*
-rw-rw-r-- 1 260504 Mar 25 10:15 vmx.i.xz
-rw-rw-r-- 1 66204 Mar 25 10:15 vmx.s.xz

Signature · 2 lines
You are receiving this mail because:
You are watching the assignee of the bug.
#15 lore raw

[Bug 115081] arch/x86/kvm/vmx.c:8719: Error: symbol `vmx_return' is already defined

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=115081

--- Comment #15 from Linda Walsh <[email protected]> --- How does one clear the NEEDINFO state and set it to 'OPEN'?

Currently marking as 'VERIFIED', as it seems to be the closest out of the choices available.

(i.e.:
RESOLVED: not yet
NEEDINFO: false
VERIFIED: ??
REJECTED: not yet
DEFERRED: not yet
NEEDINFO: false
CLOSED: not yet
)

Signature · 2 lines
You are receiving this mail because:
You are watching the assignee of the bug.
#16 lore raw

[Bug 115081] arch/x86/kvm/vmx.c:8719: Error: symbol `vmx_return' is already defined

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=115081

Linda Walsh <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------

             Status|NEEDINFO                    |VERIFIED
         Resolution|---                         |DOCUMENTED
Signature · 2 lines
You are receiving this mail because:
You are watching the assignee of the bug.
#18 lore raw

[Bug 115081] arch/x86/kvm/vmx.c:8719: Error: symbol `vmx_return' is already defined

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=115081

Linda Walsh <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------

             Status|VERIFIED                    |REOPENED
         Resolution|DOCUMENTED                  |---
Signature · 2 lines
You are receiving this mail because:
You are watching the assignee of the bug.
#20 lore raw

[Bug 115081] arch/x86/kvm/vmx.c:8719: Error: symbol `vmx_return' is already defined

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=115081

--- Comment #18 from Paolo Bonzini <[email protected]> ---
Can you redo the same thing with "-fdump-tree-all -da"? You'll get a lot of files, just attach a tarball or if too bug send it to me offlist ([email protected]).

Signature · 2 lines
You are receiving this mail because:
You are watching the assignee of the bug.
#22 lore raw

[Bug 115081] arch/x86/kvm/vmx.c:8719: Error: symbol `vmx_return' is already defined

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=115081

--- Comment #20 from Paolo Bonzini <[email protected]> --- Created attachment 211061
--> https://bugzilla.kernel.org/attachment.cgi?id=211061&action=edit
tentative patch

Please try applying this patch.

Signature · 2 lines
You are receiving this mail because:
You are watching the assignee of the bug.
#23 lore raw

[Bug 115081] arch/x86/kvm/vmx.c:8719: Error: symbol `vmx_return' is already defined

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=115081

--- Comment #21 from Linda Walsh <[email protected]> ---
That allows it to compile -- though it may be a while before I can test it live.

The time between boots on my system tends toward large, due to difficulties I usually have in the suse boot process not being very reliable due to being in constant, backward-incompatible change, (last uptime was over 100 days, while currently am at 33 days w/4.4.3).

That said, though, since there seem to be no overt code changes and mostly directives to the compiler to stop misbehaving, I suspect it should work fine.

Thing I don't understand is why it compiled in 4.4.3 but not 4.5...knowing that would at least easy my curiosity if not my mind... ;-)

BTW -- sent the 2nd copy as my mailer farted halfway through sending, and I wasn't sure it went out (no record of it having gone out in mail-record file or in the mail.info log file, thus the 2nd copy).

Thanks for the quick turnaround...

Signature · 2 lines
You are receiving this mail because:
You are watching the assignee of the bug.
#24 lore raw

[Bug 115081] arch/x86/kvm/vmx.c:8719: Error: symbol `vmx_return' is already defined

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=115081

Linda Walsh <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------

             Status|REOPENED                    |RESOLVED
         Resolution|---                         |CODE_FIX
Signature · 2 lines
You are receiving this mail because:
You are watching the assignee of the bug.