Re: Setting up NetBSD/m68k on qemu-virt for LLVM CI
John Klos <[email protected]> Sun, 9 Feb 2025 18:13:52 +0000 (UTC)
| Newsgroups | gmane.os.netbsd.ports.m68k |
|---|---|
| Message-ID | <[email protected]> |
Hi, > Currently that buildbot is running Linux/m68k which means that it's currently impossible > to build LLVM natively due the two bytes alignment used on Linux/m68k by default: > > https://lab.llvm.org/staging/#/builders/91 > > Would someone here be willing to help me set up the buildbot on NetBSD? My plan > would be to shut down the Linux/m68k virtual machine, move it out of the way and > replace with a NetBSD/m68k virtual machine and switch the CI to build on NetBSD. Happy to help, but as you can see in the discussions here: https://mail-index.netbsd.org/port-m68k/tindex.html virt68k can't currently use more than a certain amount of memory, but getting it set up now for when that'll be fixed wouldn't hurt. > FWIW, has anyone here tried building LLVM on NetBSD/m68k? At least a > stage1 build should just work while there might still be some issues > that prevent a two-stage build. It was attempted as part of a pbulk build and failed pretty quickly: [ 12%] Building CXX object tools/llvm-config/CMakeFiles/llvm-config.dir/llvm-config.cpp.o [ 12%] Linking CXX executable ../../bin/llvm-config [ 12%] Built target llvm-config [ 12%] Building COFFOptions.inc... [ 12%] Built target JITLinkTableGen [ 12%] Building AArch64GenAsmWriter.inc... [ 12%] Building AArch64GenAsmWriter1.inc... [ 12%] Building AArch64GenCallingConv.inc... [ 12%] Building AArch64GenDAGISel.inc... [ 12%] Building AArch64GenDisassemblerTables.inc... [ 12%] Building AArch64GenExegesis.inc... [ 12%] Building AArch64GenFastISel.inc... [ 12%] Building AArch64GenGlobalISel.inc... LLVM ERROR: out of memory Allocation failed PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace. Stack dump: 0. Program arguments: ../../../bin/llvm-tblgen -gen-global-isel -I /tmp/pkgbuild/lang/llvm/work.m68k/llvm-18.1.8.src/lib/Target/AArch64 -I/tmp/pkgbuild/lang/llvm/work.m68k/llvm-18.1.8.src/cmake-pkgsrc-build/include -I/tmp/pkgbuild/lang/llvm/work.m68k/llvm-18.1.8.src/include -I /tmp/pkgbuild/lang/llvm/work.m68k/llvm-18.1.8.src/lib/Target /tmp/pkgbuild/lang/llvm/work.m68k/llvm-18.1.8.src/lib/Target/AArch64/AArch64.td --write-if-changed -o /tmp/pkgbuild/lang/llvm/work.m68k/llvm-18.1.8.src/cmake-pkgsrc-build/lib/Target/AArch64/AArch64GenGlobalISel.inc Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it): 0 llvm-tblgen 0x00273c96 llvm::sys::DefaultOneShotPipeSignalHandler() + 5422 1 llvm-tblgen 0x00273fd4 llvm::sys::DefaultOneShotPipeSignalHandler() + 6252 2 llvm-tblgen 0x002722d0 llvm::raw_fd_ostream::~raw_fd_ostream() + 68860 3 llvm-tblgen 0x0027264e llvm::raw_fd_ostream::~raw_fd_ostream() + 69754 4 libc.so.12 0x0e7c407e __sigtramp_siginfo_2 + 0 [1] Abort trap (core dumped) ../../../bin/llvm-tblgen -gen-global-isel -I /... *** [lib/Target/AArch64/AArch64GenGlobalISel.inc] Error code 134 make[2]: stopped in /tmp/pkgbuild/lang/llvm/work.m68k/llvm-18.1.8.src/cmake-pkgsrc-build 1 error The pbulk stuff takes lots of memory itself, so many things that don't compile as part of a bulk build work when compiled by itself. This particular machine is compiling erlang at the moment. When that's finished, I'll give llvm another try. But what I really think you're interested in is llvm-target-m68k. With all the default targets, it'd probably take ages, and llvm-target-m68k isn't even enabled by default. John