notbugAs an Amazon Associate I earn from qualifying purchases.
Want a good read? Try FreeBSD Mastery: Jails (IT Mastery Book 15)
Port details
qemu-user-static QEMU CPU Emulator (github bsd-user branch)
3.1.0_13 emulators on this many watch lists=7 search for ports that depend on this port An older version of this port was marked as vulnerable. Find issues related to this port Report an issue related to this port View this port on Repology. pkg-fallout 3.1.0_12Version of this port present on the latest quarterly branch.
Maintainer: emulation@FreeBSD.org search for ports maintained by this maintainer
Port Added: 2014-05-19 17:13:07
Last Update: 2022-01-07 22:46:36
Commit Hash: 4617d31
People watching this port, also watch:: poudriere, sudo, pkg, rsync, firefox
License: GPLv2
Description:
SVNWeb : git : Homepage
pkg-plist: as obtained via: make generate-plist
Expand this list (19 items)
Collapse this list.
  1. /usr/local/share/licenses/qemu-user-static-3.1.0_13/catalog.mk
  2. /usr/local/share/licenses/qemu-user-static-3.1.0_13/LICENSE
  3. /usr/local/share/licenses/qemu-user-static-3.1.0_13/GPLv2
  4. bin/qemu-aarch64-static
  5. bin/qemu-arm-static
  6. bin/qemu-i386-static
  7. bin/qemu-mips-static
  8. bin/qemu-mips64-static
  9. bin/qemu-mips64el-static
  10. bin/qemu-mipsel-static
  11. bin/qemu-ppc-static
  12. bin/qemu-ppc64-static
  13. bin/qemu-riscv64-static
  14. bin/qemu-sparc-static
  15. bin/qemu-sparc64-static
  16. bin/qemu-x86_64-static
  17. @owner
  18. @group
  19. @mode
Collapse this list.
Dependency lines:
  • qemu-user-static>0:emulators/qemu-user-static
Conflicts:
CONFLICTS_INSTALL:
  • qemu-user-static-devel
Conflicts Matches:
There are no Conflicts Matches for this port. This is usually an error.
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
PKGNAME: qemu-user-static
Flavors: there is no flavor information for this port.
ONLY_FOR_ARCHS: amd64 powerpc powerpc64
distinfo:
Packages (timestamps in pop-ups are UTC):
qemu-user-static
ABIlatestquarterly
FreeBSD:11:aarch64--
FreeBSD:11:amd643.1.0_123.1.0_12
FreeBSD:11:armv6--
FreeBSD:11:i386--
FreeBSD:11:mips--
FreeBSD:11:mips64--
FreeBSD:12:aarch64--
FreeBSD:12:amd643.1.0_133.1.0_12
FreeBSD:12:armv6--
FreeBSD:12:armv7--
FreeBSD:12:i386--
FreeBSD:12:mips--
FreeBSD:12:mips64--
FreeBSD:12:powerpc64-3.1.0_12
FreeBSD:13:aarch64--
FreeBSD:13:amd643.1.0_133.1.0_12
FreeBSD:13:armv6--
FreeBSD:13:armv7--
FreeBSD:13:i386--
FreeBSD:13:mips--
FreeBSD:13:mips64--
FreeBSD:13:powerpc64-3.1.0_12
FreeBSD:14:aarch64--
FreeBSD:14:amd643.1.0_13-
FreeBSD:14:armv6--
FreeBSD:14:armv7--
FreeBSD:14:i386--
FreeBSD:14:mips--
FreeBSD:14:mips64--
FreeBSD:14:powerpc643.1.0_11-
 

Dependencies
NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
Build dependencies:
  1. libglib-2.0.a : devel/glib20
  2. bison : devel/bison
  3. gmake>=4.3 : devel/gmake
  4. pkgconf>=1.3.0_1 : devel/pkgconf
  5. python3.8 : lang/python38
  6. perl5>=5.32.r0<5.33 : lang/perl5.32
There are no ports dependent upon this port

Configuration Options:
Options name:

USES:

FreshPorts was unable to extract/find any pkg message
Master Sites:
Expand this list (1 items)
Collapse this list.
  1. https://codeload.github.com/qemu-bsd-user/qemu-bsd-user/tar.gz/527096e0c8?dummy=/
Collapse this list.
Notes from UPDATING
These upgrade notes are taken from /usr/ports/UPDATING
  • 2015-10-11
    Affects: users of emulators/qemu-sbruno, emulators/qemu-user-static
    Author: sbruno@FreeBSD.org
    Reason: 
      The Jemalloc update at svn r286871 introduced some TLS enhancements
      for MIPS targets that require a bit of workaround.  Users who want
      to build MIPS packages should update their host systems past r286871
      prior to upgrading their qemu-user-static/qemu-sbruno ports.
    
      Discussion about this can be found here:
        https://lists.freebsd.org/pipermail/freebsd-mips/2015-October/004018.html
    
    

Number of commits found: 36

Commit History - (may be incomplete: see SVNWeb link above for full details)
DateByDescription
07 Jan 2022 22:46:36
 files touched by this commit commit hash:4617d31a41ea3958798db6157b994c5cf666f0d4  3.1.0_13
Warner Losh (imp) search for other commits by this committer
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
07 Jan 2022 04:32:45
 files touched by this commit commit hash:688bd028652dc3c6bfe606fd690359060bbd949d  3.1.0_13
Colin Percival (cperciva) search for other commits by this committer
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
23 Nov 2021 22:11:40
 files touched by this commit commit hash:5933ac0b099d61d98eb531d373cf57a8927bc7af  3.1.0_12
Stefan E├čer (se) search for other commits by this committer
*/*: 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)
29 Aug 2021 19:27:55
 files touched by this commit commit hash:55ca89309d8925e5a559623e7b907fbafb88a85e  3.1.0_12
Bernhard Froehlich (decke) search for other commits by this committer
emulators/qemu-user-static: Add CPE information

Approved by:	portmgr (blanket)
24 Jul 2021 02:03:44
 files touched by this commit commit hash:9620451f37c1a853d8d8d8cb9485baa3ab52112d  3.1.0_12
Piotr Kubaj (pkubaj) search for other commits by this committer
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"
12 May 2021 00:44:58
 files touched by this commit commit hash:f2b487a6e9c74a44c1a68595a442f65951d4007c  3.1.0_12
Kyle Evans (kevans) search for other commits by this committer
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
07 Apr 2021 08:09:01
 files touched by this commit commit hash:cf118ccf875508b9a1c570044c93cfcc82bd455c  3.1.0_11
Mathieu Arnold (mat) search for other commits by this committer
One more small cleanup, forgotten yesterday.
Reported by:	lwhsu
06 Apr 2021 14:31:13
 files touched by this commit commit hash:135fdeebb99c3569e42d8162b265e15d29bd937d  3.1.0_11
Mathieu Arnold (mat) search for other commits by this committer
all: Remove all other $FreeBSD keywords.
06 Apr 2021 14:31:07
 files touched by this commit commit hash:305f148f482daf30dcf728039d03d019f88344eb  3.1.0_11
Mathieu Arnold (mat) search for other commits by this committer
Remove # $FreeBSD$ from Makefiles.
12 Mar 2021 13:59:48
Original commit files touched by this commit Revision:568178  3.1.0_11
kevans search for other commits by this committer
emulators/qemu-user-static: update to fix copy_file_range() bug

MFH:		2021Q1
26 Feb 2021 04:53:22
Original commit files touched by this commit Revision:566578  3.1.0_10
kevans search for other commits by this committer
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 View all of this commit message)
19 Dec 2020 03:35:49
Original commit files touched by this commit Revision:558422  3.1.0_9
kevans search for other commits by this committer
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
04 Dec 2020 02:35:41
Original commit files touched by this commit Revision:556947  3.1.0_8
kevans search for other commits by this committer
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
22 Nov 2020 03:40:58
Original commit files touched by this commit Revision:556027  3.1.0_7
kevans search for other commits by this committer
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.
13 Nov 2020 18:46:12
Original commit files touched by this commit Revision:555038  3.1.0_6
kevans search for other commits by this committer
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
09 Nov 2020 01:01:08
Original commit files touched by this commit Revision:554661  3.1.0_5
kevans search for other commits by this committer
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.
04 Nov 2020 03:38:32
Original commit files touched by this commit Revision:554049  3.1.0_4
kevans search for other commits by this committer
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]
30 Oct 2020 03:26:29
Original commit files touched by this commit Revision:553663  3.1.0_3
kevans search for other commits by this committer
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.
19 Oct 2020 20:34:36
Original commit files touched by this commit Revision:552765  3.1.0_2
kevans search for other commits by this committer
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.
14 Sep 2020 18:39:54
Original commit files touched by this commit Revision:548669  3.1.0_1
kevans search for other commits by this committer
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.
26 Apr 2020 15:57:12
Original commit files touched by this commit Revision:533075  3.1.0
kevans search for other commits by this committer
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)
26 Apr 2020 15:45:11
Original commit files touched by this commit Revision:533074  2.11.50.g20191211_3
kevans search for other commits by this committer
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)
15 Jan 2020 21:09:26
Original commit files touched by this commit Revision:523169  2.11.50.g20191211_1
pkubaj search for other commits by this committer
emulators/qemu-user-static: unbreak on powerpc64

Builds and works fine.

MFH:		2020Q1 (fix build blanket)
13 Nov 2019 22:46:27
Original commit files touched by this commit Revision:517397  2.11.50.g20191112
linimon search for other commits by this committer
Let the masterport set the MAINTAINER line.

Submitted by:	kevans
22 May 2017 13:17:39
Original commit files touched by this commit Revision:441455  2.8.50.g20170307_2
linimon search for other commits by this committer
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
01 Mar 2017 22:08:29
Original commit files touched by this commit Revision:435203  2.8.50.g20170301
sbruno search for other commits by this committer
Add configure arg to fix build on 10.x

PR:	217411
Submitted by:	John Hein <z7dr6ut7gs@snkmail.com>
19 May 2016 10:21:25
Original commit files touched by this commit Revision:415498  2.5.93.g20160428
amdmi3 search for other commits by this committer
- Fix trailing whitespace in pkg-descrs, categories [a-f]*

Approved by:	portmgr blanket
18 Feb 2016 16:30:30
Original commit files touched by this commit Revision:409112  2.5.50.g20160215_1
sbruno search for other commits by this committer
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.
16 Dec 2015 18:45:00
Original commit files touched by this commit Revision:403870  2.4.50.g20151206 This port version is marked as vulnerable.
sbruno search for other commits by this committer
Take these ports as they are based on my branches in github.

rip nox@
14 Dec 2015 02:52:14
Original commit files touched by this commit Revision:403704  2.4.50.g20151206 This port version is marked as vulnerable.
eadler search for other commits by this committer
Reset maintainer
01 Mar 2015 15:16:43
Original commit files touched by this commit Revision:380206  2.2.50.g20150215_1 This port version is marked as vulnerable.
nox search for other commits by this committer
- 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)
21 Feb 2015 19:44:47
Original commit files touched by this commit Revision:379545  2.2.50.g20150215 This port version is marked as vulnerable.
nox search for other commits by this committer
This is a slave port of emulators/qemu-sbruno now. (not qemu-devel)

Confusion reported by:	linimon
06 Jan 2015 19:47:29
Original commit files touched by this commit Revision:376437  2.2.50.g20150106 This port version is marked as vulnerable.
nox search for other commits by this committer
- 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)
30 Dec 2014 23:52:32
Original commit files touched by this commit Revision:375865  2.0.2_12 This port version is marked as vulnerable.
nox search for other commits by this committer
Add MASTERDIR=   ${.CURDIR}/../qemu-sbruno as comment for now.
18 Aug 2014 18:53:16
Original commit files touched by this commit Revision:365340  2.0.2 This port version is marked as vulnerable.
nox search for other commits by this committer
- 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.
19 May 2014 17:12:59
Original commit files touched by this commit Revision:354560  2.0.0_2 This port version is marked as vulnerable.
nox search for other commits by this committer
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 View all of this commit message)

Number of commits found: 36