machyve/xhyve

Building with homebrew llvm's clang segfaults during linking

Closed this issue · 3 comments

I have a special llvm installed via:

$ brew install llvm --with-clang --with-asan

When I build xhyve it segfaults during the final linking step.

Ian@kartal:(xhyve)(master) → make
cc src/vmm/x86.c
cc src/vmm/vmm.c
cc src/vmm/vmm_host.c
cc src/vmm/vmm_mem.c
cc src/vmm/vmm_lapic.c
cc src/vmm/vmm_instruction_emul.c
cc src/vmm/vmm_ioport.c
cc src/vmm/vmm_callout.c
cc src/vmm/vmm_stat.c
cc src/vmm/vmm_util.c
cc src/vmm/vmm_api.c
cc src/vmm/intel/vmx.c
cc src/vmm/intel/vmx_msr.c
cc src/vmm/intel/vmcs.c
cc src/vmm/io/vatpic.c
cc src/vmm/io/vatpit.c
cc src/vmm/io/vhpet.c
cc src/vmm/io/vioapic.c
cc src/vmm/io/vlapic.c
cc src/vmm/io/vpmtmr.c
cc src/vmm/io/vrtc.c
cc src/acpitbl.c
cc src/atkbdc.c
cc src/block_if.c
cc src/consport.c
cc src/dbgport.c
cc src/inout.c
cc src/ioapic.c
cc src/md5c.c
cc src/mem.c
cc src/mevent.c
cc src/mptbl.c
cc src/pci_ahci.c
cc src/pci_emul.c
cc src/pci_hostbridge.c
cc src/pci_irq.c
cc src/pci_lpc.c
cc src/pci_uart.c
cc src/pci_virtio_block.c
cc src/pci_virtio_net_tap.c
cc src/pci_virtio_net_vmnet.c
cc src/pci_virtio_rnd.c
cc src/pm.c
cc src/post.c
cc src/rtc.c
cc src/smbiostbl.c
cc src/task_switch.c
cc src/uart_emul.c
cc src/xhyve.c
cc src/virtio.c
cc src/xmsr.c
cc src/firmware/kexec.c
cc src/firmware/fbsd.c
ld xhyve.sym
clang-3.6: error: unable to execute command: Segmentation fault: 11
clang-3.6: error: linker command failed due to signal (use -v to see invocation)
make: *** [build/xhyve.sym] Error 254
Ian@kartal:(xhyve)(master) → clang --version
clang version 3.6.2 (tags/RELEASE_362/final)
Target: x86_64-apple-darwin14.5.0
Thread model: posix

It'd be more helpful to get a bug report to clang/llvm especially with information about the linker segfaulting.

Yeah, that's what I suspected. I ran it under lldb and didn't find anything interesting, I think clang is trapping SIGSEGV for the error code.

I opened a bug in clang. I'll go ahead and close the issue, but this should be a useful pointer in the right direction for anyone else experiencing the same issue.
https://llvm.org/bugs/show_bug.cgi?id=24732