id = 980 title = "Binary emulation of a Solaris-8-compiled dynamically linked C program gives a bus error immediately on startup when running with qemu-sparc" state = "closed" created_at = "2022-04-12T21:05:38.256Z" closed_at = "2022-04-13T00:46:30.472Z" labels = ["Closed::Invalid"] url = "https://gitlab.com/qemu-project/qemu/-/issues/980" host-os = "(Ubuntu 20.04 LTS)" host-arch = "(x86_64)" qemu-version = "(e.g. qemu-sparc version 6.2.92 (v7.0.0-rc2-18-gd5341e0913) Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers)" guest-os = "n/a" guest-arch = "n/a" description = """I am currently trying to use binary emulation to run a dynamically-linked executable C program that was written and compiled on a Solaris 8 VM. However, when I do so, I immediately get a bus error, and I'm not sure what the cause is. Below I'll delineate all of the steps I took to recreate this.""" reproduce = """1. Start Solaris 8 VM (this was done via QEMU, actually, and there are no issues here) 2. Write a simple `.c` program. 3. Compile that program with `/usr/local/bin/gcc`. The name of the program is `binary_emulation`. 4. Test program on the VM to ensure functionality. 5. Stop VM. 6. Mount `.qcow2` on the Linux host so I can easily extract files from it. 7. Copy the entire `/` directory off to `~/binary_emulation/target` 8. Copy `binary_emulation` to a separate directory. 9. `cd` to `.../qemu/build` 10. Run `./qemu-sparc -L ~/binary_emulation/target ~/binary_emulation/binary_emulation`""" additional = """#"""