#
302964 |
|
17-Jul-2016 |
dchagin |
MFC r302517:
Fix a copy/paste bug introduced during X86_64 Linuxulator work. FreeBSD support NX bit on X86_64 processors out of the box, for i386 emulation use READ_IMPLIES_EXEC flag, introduced in r302515.
While here move common part of mmap() and mprotect() code to the files in compat/linux to reduce code dupcliation between Linuxulator's.
MFC r302518, r302626:
Add linux_mmap.c to the appropriate conf/files.
|
#
294368 |
|
19-Jan-2016 |
jhb |
MFC 289769,289822,290143,290144: Rename remaining linux32 symbols from linux_* to linux32_*.
289769: Rename remaining linux32 symbols such as linux_sysent[] and linux_syscallnames[] from linux_* to linux32_* to avoid conflicts with linux64.ko. While here, add support for linux64 binaries to systrace. - Update NOPROTO entries in amd64/linux/syscalls.master to match the main table to fix systrace build. - Add a special case for union l_semun arguments to the systrace generation. - The systrace_linux32 module now only builds the systrace_linux32.ko. module on amd64. - Add a new systrace_linux module that builds on both i386 and amd64. For i386 it builds the existing systrace_linux.ko. For amd64 it builds a systrace_linux.ko for 64-bit binaries.
289822: Fix build for the KTR-enabled kernels.
290143: Fix build with DEBUG defined.
290144: Update for LINUX32 rename. The assembler didn't complain about undefined symbols but just used 0 after the rename.
|
#
293587 |
|
09-Jan-2016 |
dchagin |
MFC r283487:
Reduce duplication between MD Linux code by moving msg related struct definitions out into the compat/linux/linux_socket.h
|
#
293575 |
|
09-Jan-2016 |
dchagin |
MFC r283474:
Rework signal code to allow using it by other modules, like linprocfs:
1. Linux sigset always 64 bit on all platforms. In order to move Linux sigset code to the linux_common module define it as 64 bit int. Move Linux sigset manipulation routines to the MI path.
2. Move Linux signal number definitions to the MI path. In general, they are the same on all platforms except for a few signals.
3. Map Linux RT signals to the FreeBSD RT signals and hide signal conversion tables to avoid conversion errors.
4. Emulate Linux SIGPWR signal via FreeBSD SIGRTMIN signal which is outside of allowed on Linux signal numbers.
PR: 197216
|
#
293572 |
|
09-Jan-2016 |
dchagin |
MFC r283471:
According to Linux man sigaltstack(3) shall return EINVAL if the ss argument is not a null pointer, and the ss_flags member pointed to by ss contains flags other than SS_DISABLE. However, in fact, Linux also allows SS_ONSTACK flag which is simply ignored.
For buggy apps (at least mono) ignore other than SS_DISABLE flags as a Linux do.
While here move MI part of sigaltstack code to the appropriate place.
|
#
293548 |
|
09-Jan-2016 |
dchagin |
MFC r283443:
Put the correct value for the abi_nfdbits parameter of kern_select() for all supported Linuxulators.
|
#
293541 |
|
09-Jan-2016 |
dchagin |
MFC r283437:
To avoid code duplication move open/fcntl definitions to the MI header file.
|
#
293535 |
|
09-Jan-2016 |
dchagin |
MFC r283431:
Add AT_RANDOM and AT_EXECFN auxiliary vector entries which are used by glibc. At list since glibc version 2.16 using AT_RANDOM is mandatory.
|
#
293527 |
|
09-Jan-2016 |
dchagin |
MFC r283421:
Introduce a new module linux_common.ko which is intended for the following primary purposes:
1. Remove the dependency of linsysfs and linprocfs modules from linux.ko, which will be architecture specific on amd64.
2. Incorporate into linux_common.ko general code for platforms on which we'll support two Linuxulator modules (for both instruction set - 32 & 64 bit).
3. Move malloc(9) declaration to linux_common.ko, to enable getting memory usage statistics properly.
Currently linux_common.ko incorporates a code from linux_mib.c and linux_util.c and linprocfs, linsysfs and linux kernel modules depend on linux_common.ko.
Temporarily remove dtrace garbage from linux_mib.c and linux_util.c
|
#
293522 |
|
09-Jan-2016 |
dchagin |
MFC r283416:
x86_64 Linux do not use multiplexing on ipc system calls. Move struct ipc_perm definition to the MD path as it differs for 64 and 32 bit platform.
|
#
293515 |
|
09-Jan-2016 |
dchagin |
MFC r283408:
Eliminate a now unused global declaration of elf_linux_sysvec.
|
#
293514 |
|
09-Jan-2016 |
dchagin |
MFC r283407:
Implement vdso - virtual dynamic shared object. Through vdso Linux exposes functions from kernel with proper DWARF CFI information so that it becomes easier to unwind through them. Using vdso is a mandatory for a thread cancelation && cleanup on a modern glibc.
|
#
293500 |
|
09-Jan-2016 |
dchagin |
MFC r283391:
To reduce code duplication introduce linux_copyout_rusage() method. Use it in linux_wait4() system call and move linux_wait4() to the MI path. While here add a prototype for the static bsd_to_linux_rusage().
|
#
293477 |
|
09-Jan-2016 |
dchagin |
MFC r283369:
In preparation for switching linuxulator to the use the native 1:1 threads print the thread id in addition to the pid in debug messages.
|
#
272020 |
|
23-Sep-2014 |
bz |
MFC r271743:
Implement most of timer_{create,settime,gettime,getoverrun,delete} for amd64/linux32. Fix the entirely bogus (untested) version from r161310 for i386/linux using the same shared code in compat/linux.
It is unclear to me if we could support more clock mappings but the current set allows me to successfully run commercial 32bit linux software under linuxolator on amd64.
Reviewed by: jhb Differential Revision: D784 Sponsored by: DARPA, AFRL Approved by: re (gjb)
|
#
272020 |
|
23-Sep-2014 |
bz |
MFC r271743:
Implement most of timer_{create,settime,gettime,getoverrun,delete} for amd64/linux32. Fix the entirely bogus (untested) version from r161310 for i386/linux using the same shared code in compat/linux.
It is unclear to me if we could support more clock mappings but the current set allows me to successfully run commercial 32bit linux software under linuxolator on amd64.
Reviewed by: jhb Differential Revision: D784 Sponsored by: DARPA, AFRL Approved by: re (gjb)
|