Port details |
- qemu-user-static QEMU CPU Emulator (github bsd-user branch)
- 3.1.0_14 emulators =10 3.1.0_14Version of this port present on the latest quarterly branch.
- Maintainer: emulation@FreeBSD.org
- Port Added: 2014-05-19 17:13:07
- Last Update: 2023-09-11 21:15:38
- Commit Hash: 8bd17eb
- People watching this port, also watch:: firefox, poudriere, rsync, pkg, tmux
- License: GPLv2
- WWW:
- https://www.qemu.org/
- Description:
- QEMU is a FAST! processor emulator using dynamic translation to achieve
good emulation speed.
QEMU has two operating modes:
* Full system emulation. In this mode, QEMU emulates a full system
(for example a PC), including a processor and various peripherials.
It can be used to launch different Operating Systems without rebooting
the PC or to debug system code.
* User mode emulation (Linux host only). In this mode, QEMU can launch
Linux processes compiled for one CPU on another CPU. It can be used to
launch the Wine Windows API emulator or to ease cross-compilation and
cross-debugging.
As QEMU requires no host kernel patches to run, it is very safe and easy to use.
This port builds static bsd-user targets named like qemu-mips-static. While
still being experimental, people have already built many armv6/mips/mips64 ports
using these and, e.g., poudriere. Some notes are also here:
http://wiki.freebsd.org/QemuUserModeHowTo
- ¦ ¦ ¦ ¦
- Manual pages:
- FreshPorts has no man page information for this port.
- pkg-plist: as obtained via:
make generate-plist - Dependency lines:
-
- qemu-user-static>0:emulators/qemu-user-static
- Conflicts:
- CONFLICTS_INSTALL:
- To install the port:
- cd /usr/ports/emulators/qemu-user-static/ && make install clean
- To add the package, run one of these commands:
- pkg install emulators/qemu-user-static
- pkg install qemu-user-static
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above.- PKGNAME: qemu-user-static
- Flavors: there is no flavor information for this port.
- ONLY_FOR_ARCHS: amd64 powerpc powerpc64
- distinfo:
- TIMESTAMP = 1641593695
SHA256 (qemu/3.1.0/qemu-bsd-user-qemu-bsd-user-3.1.0-527096e0c8_GH0.tar.gz) = bf0d139a962d69fbbf2a5834e9906c283e7f300e2620051a9a3910e5bd9dc17f
SIZE (qemu/3.1.0/qemu-bsd-user-qemu-bsd-user-3.1.0-527096e0c8_GH0.tar.gz) = 16904103
Packages (timestamps in pop-ups are UTC):
- Dependencies
- NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
- Build dependencies:
-
- libglib-2.0.a : devel/glib20
- bison : devel/bison
- gmake>=4.3 : devel/gmake
- pkgconf>=1.3.0_1 : devel/pkgconf
- python3.9 : lang/python39
- perl5>=5.34<5.35 : lang/perl5.34
- There are no ports dependent upon this port
Configuration Options:
- No options to configure
- Options name:
- emulators_qemu-user-static
- USES:
- bison compiler:c11 cpe elfctl gmake perl5 pkgconfig python:build
- FreshPorts was unable to extract/find any pkg message
- Master Sites:
|
Commit History - (may be incomplete: for full details, see links to repositories near top of page) |
Commit | Credits | Log message |
3.1.0_14 11 Sep 2023 21:15:38 |
Jan Beich (jbeich) |
emulators/qemu-user-static: unbreak with kern.elf64.allow_wx=0
$ qemu-aarch64-static /dev/null
qemu_mprotect__osdep: mprotect failed: Permission denied
mprotect of jit buffer: Permission denied |
3.1.0_13 10 Nov 2022 14:30:33 |
Muhammad Moinur Rahman (bofh) |
emulators/qemu*: Fix WWW
PR: 267686
Reported by: grahamperrin |
07 Sep 2022 21:58:51 |
Stefan Eßer (se) |
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner) |
3.1.0_13 07 Sep 2022 21:10:59 |
Stefan Eßer (se) |
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above ) |
3.1.0_13 07 Jan 2022 22:46:36 |
Warner Losh (imp) |
emulators/qemu-user-static: Update for 13.x stable
swapoff was MFC'd Dec 20th to stable/13, pull in changes to fix that.
Sponsored by: Netflix |
3.1.0_13 07 Jan 2022 04:32:45 |
Colin Percival (cperciva) |
emulators/qemu-user-static: Fix build on recent FreeBSD
The swapoff(2) syscall recently changed from taking a single
argument to taking two (adding a field used for a "force" flag);
this broke qemu-user, since it translates system calls from
guest to host architecture.
Thanks to: imp
With hat: re@
Sponsored by: https://www.patreon.com/cperciva |
3.1.0_12 23 Nov 2021 22:11:40 |
Stefan Eßer (se) |
*/*: Remove redundant '-[0-9]*' from CONFLICTS_INSTALL
The conflict checks compare the patterns first against the package
names without version (as reported by "pkg query "%n"), then - if
there was no match - agsinst the full package names including the
version (as reported by "pkg query "%n-%v").
Approved by: portmgr (blanket) |
3.1.0_12 29 Aug 2021 19:27:55 |
Bernhard Froehlich (decke) |
emulators/qemu-user-static: Add CPE information
Approved by: portmgr (blanket) |
3.1.0_12 24 Jul 2021 02:03:44 |
Piotr Kubaj (pkubaj) |
emulators/qemu-user-static: fix build on powerpc
/wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-6ffee39fe2e4/tcg/ppc/tcg-target.inc.c:1922:3:
error: "Unhandled abi" |
3.1.0_12 12 May 2021 00:44:58 |
Kyle Evans (kevans) |
emulators/qemu-user-static{,-devel}: fix build on recent FreeBSD
This updates both to 6ffee39fe2e4, which pulls in some patches to fix
the build after a recent commit to main that was MFC'd to stable/13.
While we're here, update qemu-user-static-devel to point to the current
upstream. qemu-user-static-devel will likely be updated in the near
future to point to imp's 6.0 rebase branch for Q/A.
MFH: 2021Q2 |
3.1.0_11 07 Apr 2021 08:09:01 |
Mathieu Arnold (mat) |
One more small cleanup, forgotten yesterday.
Reported by: lwhsu |
3.1.0_11 06 Apr 2021 14:31:13 |
Mathieu Arnold (mat) |
all: Remove all other $FreeBSD keywords. |
3.1.0_11 06 Apr 2021 14:31:07 |
Mathieu Arnold (mat) |
Remove # $FreeBSD$ from Makefiles. |
3.1.0_11 12 Mar 2021 13:59:48 |
kevans |
emulators/qemu-user-static: update to fix copy_file_range() bug
MFH: 2021Q1 |
3.1.0_10 26 Feb 2021 04:53:22 |
kevans |
emulators/qemu-user-static: update to f7fd10d7677c
This features a number of fixes; highlights:
- Handle aarch64 YIELD instructions
- Bump ARG_MAX to match the FreeBSD default on LP64 platforms
- Implement __specialfd(2) and copy_file_range(2)
- Style fixes
- Fix an issue with binary execution[0]
- Fix page fault handling for self-modifying binaries[1]
- Suppress noise from CIOGSESSION usage and restore CRIOGET handling
- Patch _umtx_op(2) through to the kernel where possible[2]
[0] Attempting to execute a binary by name was broken when there was an
unrelated entry by the same name in PWD. The report below observed it in the
cluster while building games/dobutsu, which tried to execute `xz` in a directory (Only the first 15 lines of the commit message are shown above ) |
3.1.0_9 19 Dec 2020 03:35:49 |
kevans |
emulators/qemu-user-static: update to 39244526c0af
Highlights:
- Various ppc target fixes (courtesy of bdragon@)
- Fix for hw.ncpu on mips (courtesy of Dan Nelson)
- Switch to the new qemu-bsd-user/qemu-bsd-user upstream |
3.1.0_8 04 Dec 2020 02:35:41 |
kevans |
emulators/qemu-user-static: fix the build after base r368005
r368005 removed CRIOGET, breaking the qemu-user-static build. We didn't
actually implement it anyways, so this update simply ripped it out rather
than trying to maintain it for old branches.
While here, bring qemu-user-static-devel up to parity with qemu-user-static.
We should be soon approaching the point where we can rebase the former
forward to a newer qemu.
Reported by: gjb |
3.1.0_7 22 Nov 2020 03:40:58 |
kevans |
emulators/qemu-user-static: update to 6f1319e1138c
Highlights:
- Fix stack allocation to behave more like FreeBSD really does[*].
- Raised the stack size on ARM, which should solve some limited cases of
mysterious segfaults (e.g. lang/gcc9).
- Provide hw.ncpu and AT_NCPUS based on cpu affinity to more effectively
limit cpu usage under qemu-user-static.
[*] We start out with a limited initial stack size, then login(1) raises
the stack size up to the maximum possible for the system (arch-based).
qemu-user-static will now calculate a maximum stack size based on the
host's configured rlimit and the qemu-bsd-user specified max for the arch
in question, then immediately raise the stack allocation size to the
maximum. This is especially important because we don't actually handle
stack growth.
post-patch is also dropped entirely, as these sed invocations have done
nothing since versions of qemu back in ~2007, AFAICT. CFLAGS/LDFLAGS get
sucked in during configure and qemu's built with -fno-strict-aliasing as
a default for even longer. |
3.1.0_6 13 Nov 2020 18:46:12 |
kevans |
emulators/qemu-bsd-user: update to 4ee077c
Highlight:
- Properly fixed consistent segfaults at runtime on processors w/o AVX{,2}
support (previously worked around).
- Fixed RISC-V threading support; we can now build up to gdb at the very
least.
- AT_HWCAP is now populated, ARM reflects VFP support properly
- Fixed more regressions in signal handling
- Fixed freebsd11_kevent emulation (used by lang/go)
- Handful of fixes for warnings in the bsd-user build |
3.1.0_5 09 Nov 2020 01:01:08 |
kevans |
emulators/qemu-user-static: update to d618de655
Primarily fixes qemu-user-static with the upstream switch to enabling
ARM_FEATURE_EL3 by default (I note that this actually eventually gets
reverted on its own just for CONFIG_USER in later revisions of qemu).
It also fixes some really fundamental breakage that was observed in, e.g.,
grep and most other applications. The official armv7 builder, beefy12, was
seeing an incredibly similar failure. |
3.1.0_4 04 Nov 2020 03:38:32 |
kevans |
emulators/qemu-user-static: update to 269a4ac93
Fixes:
- Fixed recently broken execution of PIE binaries (not zero'ing .bss)[0]
- Fixed handling of signals during pselect(2)/ppoll(2)
- Fixed nanosleep(2) (was writing out time remaining only on success)
- Fixed swapcontext(2)/setcontext(2)
- Fixed a lot of ktimer handling issues
- Fixed direct exec of rtld
Improvements:
- Implemented clock_nanosleep(2)
- Implemented msgget(2) and, more generally, fixed SysV msg support
- Refactored ELF loading (much easier to read, less easy to break)
Investigated by: Andrew Gierth <andrew tao11 riddles org uk> [0] |
3.1.0_3 30 Oct 2020 03:26:29 |
kevans |
emulators/qemu-user-static: update to latest bsd-user-rebase-3.1
This fixes the recent ELF fix by properly initializing the extension to the
PT_LOAD segment rather than filling it with file garbage.
While here, disable capstone -- this part of the build is subject to
external pollution (= death), and we don't use it in qemu-user-static
anyways. |
3.1.0_2 19 Oct 2020 20:34:36 |
kevans |
emulators/qemu-user-static: update to latest with more fixes
This fixes a little more fallout from the signal refactoring that wasn't
immediately obvious, and fixes a longstanding bug in ELF loading that
resulted in rtld segfaults. |
3.1.0_1 14 Sep 2020 18:39:54 |
kevans |
emulator/qemu-user-static: fix major regression from signal refactor
Excellent diagnosis by Andrew Gierth revealed the exact nature of the
regression from previous signal handling fixes; gobject-introspection now
builds, and we should be able to once again build a pretty large chunk of
the ports tree.
The configure script patch has been incorporated into our tree, so the patch
may be removed.
As mentioned previously, qemu-user-static and qemu-user-static-devel will
not always be updated in lockstep; future changes will land to
qemu-user-static-devel first followed by qemu-user-static. |
3.1.0 26 Apr 2020 15:57:12 |
kevans |
emulators/qemu-user-static: revive as a copy of qemu-user-static-devel
This is effectively the 3.1 update of qemu-user-static. The main feature of
the update to 3.1 is RISC-V support, contributed by Embecosm.
PR: 243906
Approved by: koobs (mentor) |
2.11.50.g20191211_3 26 Apr 2020 15:45:11 |
kevans |
Remove the old emulators/qemu-user-static from the tree
This will be momentarily replaced by a repocopy of qemu-user-static-devel
back over to qemu-user-static. With the update of qemu-user-static to 3.1,
emulators/qemu-user-static will no longer be a slave port and
emulators/qemu-sbruno will be deprecated in a couple months.
Some history is being lost in this transition, but almost all of the
interesting parts of qemu-user-static were in the master port qemu-sbruno
anyways, which qemu-user-static-devel is repoderived from.
PR: 243906
Approved by: koobs (mentor) |
2.11.50.g20191211_1 15 Jan 2020 21:09:26 |
pkubaj |
emulators/qemu-user-static: unbreak on powerpc64
Builds and works fine.
MFH: 2020Q1 (fix build blanket) |
2.11.50.g20191112 13 Nov 2019 22:46:27 |
linimon |
Let the masterport set the MAINTAINER line.
Submitted by: kevans |
2.8.50.g20170307_2 22 May 2017 13:17:39 |
linimon |
Mark some ports failing on power64. In cases where the error message
was a stub, provide a real one.
While here, pet portlint.
Approved by: portmgr (tier-2 blanket)
Reported by: swills |
2.8.50.g20170301 01 Mar 2017 22:08:29 |
sbruno |
Add configure arg to fix build on 10.x
PR: 217411
Submitted by: John Hein <z7dr6ut7gs@snkmail.com> |
2.5.93.g20160428 19 May 2016 10:21:25 |
amdmi3 |
- Fix trailing whitespace in pkg-descrs, categories [a-f]*
Approved by: portmgr blanket |
2.5.50.g20160215_1 18 Feb 2016 16:30:30 |
sbruno |
Attempt to unbreak stage (pointed out by amdmi3/junovitch)
- Add ivshmem-client/server to the pkg-plist of qemu-sbruno.
- Forceably nuke ivshmem-client/server during the build of qemu-user-static.
Bump PORTREVISION. |
2.4.50.g20151206 16 Dec 2015 18:45:00 |
sbruno |
Take these ports as they are based on my branches in github.
rip nox@ |
2.4.50.g20151206 14 Dec 2015 02:52:14 |
eadler |
Reset maintainer |
2.2.50.g20150215_1 01 Mar 2015 15:16:43 |
nox |
- Add rc.d script to emulators/qemu-user-static to (optinally) setup
imgact_binmisc configs on systems where that exists.
- Bump PORTREVISION.
Submitted by: linimon (with some changes by me) |
2.2.50.g20150215 21 Feb 2015 19:44:47 |
nox |
This is a slave port of emulators/qemu-sbruno now. (not qemu-devel)
Confusion reported by: linimon |
2.2.50.g20150106 06 Jan 2015 19:47:29 |
nox |
- Update emulators/qemu-sbruno to latest github snapshot, fixing
the bsd-user targets on 8 and 9.
- Switch emulators/qemu-user-static to be slave of emulators/qemu-sbruno.
- Update emulators/qemu-devel to latest upstream release 2.2.0, now
w/o bsd-user patches and knob again. (Or at least until the
patches are merged upstream...) [1]
- Add appropriate CONFLICTS to emulators/qemu too and bump its
PORTREVISION.
Suggested by: andrew [1] (for the benefit of testing aarch64 guests) |
2.0.2_12 30 Dec 2014 23:52:32 |
nox |
Add MASTERDIR= ${.CURDIR}/../qemu-sbruno as comment for now. |
2.0.2 18 Aug 2014 18:53:16 |
nox |
- Update to 2.0.2, announce message is here:
http://thread.gmane.org/gmane.comp.emulators.qemu/291585
- Strip executables by default.
- Switch to USES=python:2,build. |
2.0.0_2 19 May 2014 17:12:59 |
nox |
Add new slave port emulators/qemu-user-static:
QEMU is a FAST! processor emulator using dynamic translation to achieve
good emulation speed.
QEMU has two operating modes:
* Full system emulation. In this mode, QEMU emulates a full system
(for example a PC), including a processor and various peripherials.
It can be used to launch different Operating Systems without rebooting
the PC or to debug system code.
* User mode emulation (Linux host only). In this mode, QEMU can launch
Linux processes compiled for one CPU on another CPU. It can be used to
launch the Wine Windows API emulator or to ease cross-compilation and
cross-debugging.
(Only the first 15 lines of the commit message are shown above ) |