emulators/qemu-user-static
Update to 2.11.50 + patches from submitters. Upstream introduced some git
nonsense with remotes inside their repos. Change the way we fetch our
distributions with GH_TUPLE instead of the previous way. Clean up a couple
lines commented out for the PCAP features that aren't stored in a patch, but
merely direct committed to this tree.
- Remove the interpreter name and interpreter prefix when retrieving the
argument vectors using kvm_getargv (Mikael Urankar)
- No need to check msg_controllen: msg_controllen can have the value 0 and
the kernel discards negative value (Mikael Urankar)
- Implement/modify kevent64 related syscalls. (Mikael Urankar)
- Implement ktimer_{create, delete, settime, gettime} (Mikael Urankar)
- Stop using basename_r(3). Fix build after FreeBSD svn r326719 (Ed Shouten)
Changelogs can be found at https://github.com/seanbruno/qemu-bsd-user
PR: 224016
Add redirection for "armv7" so the poudriere can be tested for this
target when its ready.
Fix bsd-mem.h do_obreak() to invoke an mmap() with a proper -1 argument
for the fd argument.
Submitted by: Mikael Urankanar <mikael.urankar@gmail.com>
Switch to using sysutils/dtc for libfdt with qemu-sbruno, remove
use of nox's homedir for providing dtc/libfdt and remove it as
a build depend in the qemu-user-static path if it was even being
built.
- add strace logging for new syscalls after ino64 update
- sync mmap() code with linux-user
- implement posix_fallocate()
-- this should help building aarch64 ports a bit.
- tcg: add handling for EXCP_ATOMIC
Submitted by: Mikael Urankanar <mikael.urankar@gmail.com>
Change certain bits of mmap.c to check for the fd that is passed into
mmap() for the value -1 instead of MAP_ANONYMOUS. This should be much
more reliable as we will avoid doing an mmap() of -1. :-)
Also include sys/param.h in mmap.c to capture __FreeBSD_version so that
MAP_GUARD code is actually run on versions that support it.
https://github.com/seanbruno/qemu-bsd-user/pull/45
Submitted by: Guy Yur
in -current in support of mmap() MAP_GUARD.
Thanks to kib@ for the explanations and test program that I used to
come up with a solution.
While here, sync to upstream a bit. This requires a little bit of a
fixup for NODOC builds.
- Fix handling of ino64 changes in head (Michal Meloun)
- Don't return 0 if pending signal is detected before call to real select().
This causes cmake timeout failures - a select() with NULL as
timeout argument returns (erroneously) 0. (Michal Meloun)
- Allow users to compile bsd-user dynamically (Michal Meloun)
pkg building on mips. Some ports errneously try and use FPU instructions
and will insta-crash when run on real hardware. This change will identify
those ports that have these types of instructions so they can be fixed.
- dnelson
Add handler for fdatasync(). Quiesce noise about missing handler.
- jkim
- Allow utimensat() syscall on FreeBSD 10.3, where pkg(8) requires it.
Update qemu-sbruno Makefile to not build qemu-tools when building
qemu-user-static slave port. (ian@)
https://github.com/seanbruno/qemu-bsd-user/pull/23
Limit sysctl(3) output for hw.availpages to 4GB.
- This output should be limited to 4GB on 32-bit targets to be consistent
with hw.physmem. Note this also limits sysconf(3) with _SC_PHYS_PAGES
because libc uses sysctlbyname("hw.availpages", ...) to get the value.
- Properly swap output for hw.physmem, etc. while I am in the neighborhood.
Submitted by: jkim@
Disable atomic macros which conflict with C++ QEMU's atomic header defines
a few macros which conflict with standard C++ function names, namely
atomic_fetch_{add,sub,and,or}. Disable these macros when compiling for C++.
PR: 209590
Submitted by: dim