#
293896 |
|
14-Jan-2016 |
glebius |
o Fix invalid TCP checksums with pf(4). [EN-16:02.pf] o Fix YP/NIS client library critical bug. [EN-16:03.yplib] o Fix SCTP ICMPv6 error message vulnerability. [SA-16:01.sctp] o Fix ntp panic threshold bypass vulnerability. [SA-16:02.ntp] o Fix Linux compatibility layer incorrect futex handling. [SA-16:03.linux] o Fix Linux compatibility layer setgroups(2) system call. [SA-16:04.linux] o Fix TCP MD5 signature denial of service. [SA-16:05.tcp] o Fix insecure default bsnmpd.conf permissions. [SA-16:06.bsnmpd]
Errata: FreeBSD-EN-16:02.pf Errata: FreeBSD-EN-16:03.yplib Security: FreeBSD-SA-16:01.sctp, CVE-2016-1879 Security: FreeBSD-SA-16:02.ntp, CVE-2015-5300 Security: FreeBSD-SA-16:03.linux, CVE-2016-1880 Security: FreeBSD-SA-16:04.linux, CVE-2016-1881 Security: FreeBSD-SA-16:05.tcp, CVE-2016-1882 Security: FreeBSD-SA-16:06.bsnmpd, CVE-2015-5677 Approved by: so
|
#
267654 |
|
19-Jun-2014 |
gjb |
Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
248532 |
|
19-Mar-2013 |
jkim |
MFC: r234352
Implement pipe2 syscall for Linuxulator.
|
#
234316 |
|
15-Apr-2012 |
netchild |
MFC r232799: - add comments to syscalls.master and linux(32)_dummy about which linux kernel version introduced the sysctl (based upon a linux man-page) - add comments to syscalls.master regarding some names of sysctls which are different than the linux-names (based upon the linux unistd.h) - add some dummy sysctls - name an unimplemented sysctl
|
#
231145 |
|
07-Feb-2012 |
jhb |
MFC 228957: Implement linux_fadvise64() and linux_fadvise64_64() using kern_posix_fadvise().
|
#
225736 |
|
22-Sep-2011 |
kensmith |
Copy head to stable/9 as part of 9.0-RELEASE release cycle.
Approved by: re (implicit)
|
#
220028 |
|
26-Mar-2011 |
avg |
linux compat: add non-dummy capget and capset system calls
PR: kern/149168 Submitted by: John Wehle <john@feith.com> Reviewed by: netchild MFC after: 2 weeks
|
#
219559 |
|
12-Mar-2011 |
avg |
add DTrace systrace support for linux32 and freebsd32 on amd64 syscalls
This commits makes necessary changes in syscall/sysent generation infrastructure.
PR: kern/152822 Submitted by: Artem Belevich <fbsdlist@src.cx> Reviewed by: jhb (ealier version) MFC after: 3 weeks
|
#
218610 |
|
12-Feb-2011 |
dchagin |
The fourth argument of linux_clone is a pointer to the TLS. Change clone syscall definition to match actual linux one.
|
#
218101 |
|
30-Jan-2011 |
dchagin |
Change linux futex syscall definition to match actual linux one.
MFC after: 1 Month.
|
#
184789 |
|
09-Nov-2008 |
ed |
Mark uname(), getdomainname() and setdomainname() with COMPAT_FREEBSD4.
Looking at our source code history, it seems the uname(), getdomainname() and setdomainname() system calls got deprecated somewhere after FreeBSD 1.1, but they have never been phased out properly. Because we don't have a COMPAT_FREEBSD1, just use COMPAT_FREEBSD4.
Also fix the Linuxolator to build without the setdomainname() routine by just making it call userland_sysctl on kern.domainname. Also replace the setdomainname()'s implementation to use this approach, because we're duplicating code with sysctl_domainname().
I wasn't able to keep these three routines working in our COMPAT_FREEBSD32, because that would require yet another keyword for syscalls.master (COMPAT4+NOPROTO). Because this routine is probably unused already, this won't be a problem in practice. If it turns out to be a problem, we'll just restore this functionality.
Reviewed by: rdivacky, kib
|
#
178976 |
|
13-May-2008 |
rdivacky |
Implement robust futexes. Most of the code is modelled after what Linux does. This is because robust futexes are mostly userspace thing which we cannot alter. Two syscalls maintain pointer to userspace list and when process exits a routine walks this list waking up processes sleeping on futexes from that list.
Reviewed by: kib (mentor) MFC after: 1 month
|
#
178257 |
|
16-Apr-2008 |
jkim |
Add stubs for syscalls introduced in Linux 2.6.17 kernel. Some GNU libc version started using them before 2.6.17 was officially out.
MFC after: 3 days
|
#
177997 |
|
08-Apr-2008 |
kib |
Implement the linux syscalls openat, mkdirat, mknodat, fchownat, futimesat, fstatat, unlinkat, renameat, linkat, symlinkat, readlinkat, fchmodat, faccessat.
Submitted by: rdivacky Sponsored by: Google Summer of Code 2007 Tested by: pho
|
#
177257 |
|
16-Mar-2008 |
rdivacky |
Implement sched_setaffinity and get_setaffinity using real cpu affinity setting primitives.
Reviewed by: jeff Approved by: kib (mentor)
|
#
172220 |
|
18-Sep-2007 |
dwmalone |
The kernel version of Linux statfs64 is actually supposed to take 3 arguments, but we had forgotten the second argument. Also make the Linux statfs64 struct depend on the architecture because it has an extra 4 bytes padding on amd64 compared to i386.
The three argument fix is from David Taylor, the struct statfs64 stuff is my fault. With this patch I can install i386 Linux matlab on an amd64 machine.
Submitted by: David Taylor <davidt_at_yadt.co.uk> Approved by: re (kensmith)
|
#
171998 |
|
28-Aug-2007 |
kib |
Implement fake linux sched_getaffinity() syscall to enable java to work with Linux 2.6 emulation. This shall be reimplemented once FreeBSD gets native scheduler affinity syscalls.
Submitted by: rdivacky Reviewed by: jkim Sponsored by: Google Summer of Code 2007 Approved by: re (kensmith)
|
#
168014 |
|
29-Mar-2007 |
julian |
Implement the openat() linux syscall Submitted by: Roman Divacky (rdivacky@) MFC after: 2 weeks
|
#
166727 |
|
14-Feb-2007 |
jkim |
MFP4: 113025, 113146, 113177, 113203, 113500, 113546, 113570
- PROT_READ, PROT_WRITE, or PROT_EXEC implies PROT_READ and PROT_EXEC. Linux/ia64's i386 emulation layer does this and it complies with Linux header files. This fixes mmap05 LTP test case on amd64. - Do not adjust stack size when failure has occurred. - Synchronize i386 mmap/mprotect with amd64.
|
#
165689 |
|
31-Dec-2006 |
netchild |
MFp4 (111746, 108671, 108945, 112352): - add linux utimes syscall [1] - add linux rt_sigtimedwait syscall [2]
Submitted by: "Scot Hetzel" <swhetzel@gmail.com> [1] Submitted by: Bruce Becker <hostmaster@whois.gts.net> [2] PR: 93199 [2]
|
#
165410 |
|
20-Dec-2006 |
jkim |
Add linux_nanosleep() and regen.
|
#
163760 |
|
29-Oct-2006 |
netchild |
Backout the linux aio stuff. Several problems where identified and the dynamic nature (if no native aio code is available, the linux part returns ENOSYS because of missing requisites) should be solved differently than it is.
All this will be done in P4.
Not included in this commit is a backout of the changes to the native aio code (removing static in some places). Those changes (and some more) will also be needed when the reworked linux aio stuff will reenter the tree.
Requested by: rwatson Discussed with: rwatson
|
#
163734 |
|
28-Oct-2006 |
netchild |
MFP4: Implement prctl().
Submitted by: rdivacky Tested with: LTP
|
#
163379 |
|
15-Oct-2006 |
netchild |
MFP4 (with some minor changes):
Implement the linux_io_* syscalls (AIO). They are only enabled if the native AIO code is available (either compiled in to the kernel or as a module) at the time the functions are used. If the AIO stuff is not available there will be a ENOSYS.
From the submitter: ---snip--- DESIGN NOTES:
1. Linux permits a process to own multiple AIO queues (distinguished by "context"), but FreeBSD creates only one single AIO queue per process. My code maintains a request queue (STAILQ of queue(3)) per "context", and throws all AIO requests of all contexts owned by a process into the single FreeBSD per-process AIO queue.
When the process calls io_destroy(2), io_getevents(2), io_submit(2) and io_cancel(2), my code can pick out requests owned by the specified context from the single FreeBSD per-process AIO queue according to the per-context request queues maintained by my code.
2. The request queue maintained by my code stores contrast information between Linux IO control blocks (struct linux_iocb) and FreeBSD IO control blocks (struct aiocb). FreeBSD IO control block actually exists in userland memory space, required by FreeBSD native aio_XXXXXX(2).
3. It is quite troubling that the function io_getevents() of libaio-0.3.105 needs to use Linux-specific "struct aio_ring", which is a partial mirror of context in user space. I would rather take the address of context in kernel as the context ID, but the io_getevents() of libaio forces me to take the address of the "ring" in user space as the context ID.
To my surprise, one comment line in the file "io_getevents.c" of libaio-0.3.105 reads:
Ben will hate me for this
REFERENCE:
1. Linux kernel source code: http://www.kernel.org/pub/linux/kernel/v2.6/ (include/linux/aio_abi.h, fs/aio.c)
2. Linux manual pages: http://www.kernel.org/pub/linux/docs/manpages/ (io_setup(2), io_destroy(2), io_getevents(2), io_submit(2), io_cancel(2))
3. Linux Scalability Effort: http://lse.sourceforge.net/io/aio.html The design notes: http://lse.sourceforge.net/io/aionotes.txt
4. The package libaio, both source and binary: http://rpmfind.net/linux/rpm2html/search.php?query=libaio Simple transparent interface to Linux AIO system calls.
5. Libaio-oracle: http://oss.oracle.com/projects/libaio-oracle/ POSIX AIO implementation based on Linux AIO system calls (depending on libaio). ---snip---
Submitted by: Li, Xiao <intron@intron.ac>
|
#
162527 |
|
21-Sep-2006 |
rwatson |
Use AUE_CREAT instead of AUE_O_CREAT for linux_creat().
Obtained from: TrustedBSD Project
|
#
162525 |
|
21-Sep-2006 |
rwatson |
Use AUE_GETDIRENTRIES instead of AUE_O_GETDENTS and AUE_NULL for a number of directory reading system calls.
Respell a mis-spelled event name.
Clean up white space/line wraps in a couple of places.
Assign event numbers to some new system call entries that have turned up in the list since audit support was added.
Obtained from: TrustedBSD Project
|
#
161665 |
|
27-Aug-2006 |
netchild |
Add the linux statfs64 call. This allows Tivoli backup to proceed a little but further on -current (still not successful, but a step into the right direction).
Sponsored by: Google SoC 2006 Submitted by: rdivacky Tested by: Paul Mather <paul@gromit.dlib.vt.edu>
|
#
161305 |
|
15-Aug-2006 |
netchild |
Add new syscalls in the linuxolator (only used when the sysctl compat.linux.osrelease is changed to "2.6.16" or similar).
On amd64 not everything is supported like on i386, the catchup is planned for later when the remaining bugs in the new functions are fixed.
Sponsored by: Google SoC 2006 Submitted by: rdivacky
|
#
160798 |
|
28-Jul-2006 |
jhb |
Now that all system calls are MPSAFE, retire the SYF_MPSAFE flag used to mark system calls as being MPSAFE: - Stop conditionally acquiring Giant around system call invocations. - Remove all of the 'M' prefixes from the master system call files. - Remove support for the 'M' prefix from the script that generates the syscall-related files from the master system call files. - Don't explicitly set SYF_MPSAFE when registering nfssvc.
|
#
160797 |
|
28-Jul-2006 |
jhb |
Various fixes to comments in the syscall master files including removing cruft from the audit import and adding mention of COMPAT4 to freebsd32.
|
#
160555 |
|
21-Jul-2006 |
jhb |
- Pass the MPSAFE flag to namei() in linux_uselib() and handle conditional Giant VFS locking in that function. - Remove bogus code to handle the case where namei() returns success but a NULL vnode pointer. - Note that this code duplicates exec_check_permissions() and annotate where it differs. - Hold the vnode lock longer to protect the write to set VV_TEXT in v_vflag. - Mark linux_uselib() MPSAFE.
Reviewed by: rwatson
|
#
160276 |
|
11-Jul-2006 |
jhb |
- Add conditional VFS Giant locking to getdents_common() (linux ABIs), ibcs2_getdents(), ibcs2_read(), ogetdirentries(), svr4_sys_getdents(), and svr4_sys_getdents64() similar to that in getdirentries(). - Mark ibcs2_getdents(), ibcs2_read(), linux_getdents(), linux_getdents64(), linux_readdir(), ogetdirentries(), svr4_sys_getdents(), and svr4_sys_getdents64() MPSAFE.
|
#
160143 |
|
06-Jul-2006 |
jhb |
- Protect the list of linux ioctl handlers with an sx lock. - Hold Giant while calling linux ioctl handlers for now as they aren't all known to be MPSAFE yet. - Mark linux_ioctl() MPSAFE.
|
#
159991 |
|
27-Jun-2006 |
jhb |
- Add a kern_semctl() helper function for __semctl(). It accepts a pointer to a copied-in copy of the 'union semun' and a uioseg to indicate which memory space the 'buf' pointer of the union points to. This is then used in linux_semctl() and svr4_sys_semctl() to eliminate use of the stackgap. - Mark linux_ipc() and svr4_sys_semsys() MPSAFE.
|
#
159982 |
|
27-Jun-2006 |
jhb |
- Expand the scope of Giant some in mount(2) to protect the vfsp structure from going away. mount(2) is now MPSAFE. - Expand the scope of Giant some in unmount(2) to protect the mp structure (or rather, to handle concurrent unmount races) from going away. umount(2) is now MPSAFE, as well as linux_umount() and linux_oldumount(). - nmount(2) and linux_mount() were already MPSAFE.
|
#
159959 |
|
26-Jun-2006 |
jhb |
linux_brk() is MPSAFE.
|
#
159799 |
|
20-Jun-2006 |
netchild |
Switch to using the DUMMY infrastructure instead of UNIMPL for the new syscalls. This way there will be a log message printed to the console (this time for real).
Note: UNIMPL should be used for syscalls we do not implement ever, e.g. syscalls to load linux kernel modules.
Submitted by: rdivacky Sponsored by: Goole SoC 2006 P4 IDs: 99600, 99602
|
#
159581 |
|
13-Jun-2006 |
netchild |
MFP4 (soc2006/rdivacky_linuxolator)
Update of syscall.master: o Adding of several new dummy syscalls (268-310) o Synchronization of amd64 syscall.master with i386 one o Auditing added to amd64 syscall.master o Change auditing type for lstat syscall (bugfix). [1]
P4-Changes: 98672, 98674 Noticed by: rwatson [1] Sponsored by: Google SoC 2006 Submitted by: rdivacky
|
#
158406 |
|
10-May-2006 |
netchild |
Implement rt_sigpending in the linuxolator.
PR: 92671 Submitted by: Markus Niemist"o <markus.niemisto@gmx.net>
|
#
156850 |
|
18-Mar-2006 |
netchild |
Fixup some problems in my previous commit (COMPAT_43).
Pointyhat to: netchild
|
#
156842 |
|
18-Mar-2006 |
netchild |
Get rid of the need of COMPAT_43 in the linuxolator.
Submitted by: Divacky Roman <xdivac02@stud.fit.vutbr.cz> Obtained from: DragonFly (some parts)
|
#
155374 |
|
05-Feb-2006 |
rwatson |
Assign audit event identifiers to Linux i386 system calls.
Obtained from: TrustedBSD Project
|
#
147974 |
|
13-Jul-2005 |
jhb |
Make a pass through all the compat ABIs sychronizing the MP safe flags with the master syscall table as well as marking several ABI wrapper functions safe.
MFC after: 1 week
|
#
147141 |
|
08-Jun-2005 |
sobomax |
Properly convert FreeBSD priority values into Linux values in the getpriority(2) syscall.
PR: kern/81951 Submitted by: Andriy Gapon <avg@icyb.net.ua>
|
#
146806 |
|
30-May-2005 |
rwatson |
Introduce a new field in the syscalls.master file format to hold the audit event identifier associated with each system call, which will be stored by makesyscalls.sh in the sy_auevent field of struct sysent. For now, default the audit identifier on all system calls to AUE_NULL, but in the near future, other BSM event identifiers will be used. The mapping of system calls to event identifiers is many:one due to multiple system calls that map to the same end functionality across compatibility wrappers, ABI wrappers, etc.
Submitted by: wsalamon Obtained from: TrustedBSD Project
|
#
143197 |
|
06-Mar-2005 |
sobomax |
Handle unimplemented syscall by instantly returning ENOSYS instead of sending signal first and only then returning ENOSYS to match what real linux does.
PR: kern/74302 Submitted by: Travis Poppe <tlp@LiquidX.org>
|
#
134838 |
|
06-Sep-2004 |
dfr |
Add a few stub syscalls to get TransGaming's winex a bit closer to working.
|
#
134266 |
|
24-Aug-2004 |
jhb |
Fix the ABI wrappers to use kern_fcntl() rather than calling fcntl() directly. This removes a few more users of the stackgap and also marks the syscalls using these wrappers MP safe where appropriate.
Tested on: i386 with linux acroread5 Compiled on: i386, alpha LINT
|
#
127532 |
|
28-Mar-2004 |
bms |
Use the BSD madvise() syscall implementation for Linux binary emulation, instead of treating it as an unimplemented syscall. This appears to make StarOffice 7.0 Linux binaries work according to submitter; also tested with nvidia driver by submitter.
Submitted by: Matthias Schuendehuette
|
#
127041 |
|
15-Mar-2004 |
jhb |
- Mark ABI syscalls that call wait4() MP safe as recent changes to the kernel wait4() made these all panic() implementations otherwise. - The i386 linux_ptrace() syscall is MP safe. Alpha was already marked MP safe.
|
#
125455 |
|
04-Feb-2004 |
jhb |
The following compat syscalls are now mpsafe: linux_getrlimit(), linux_setrlimit(), linux_old_getrlimit(), osf1_getrlimit(), osf1_setrlimit(), svr4_sys_ulimit(), svr4_sys_setrlimit(), svr4_sys_getrlimit(), svr4_sys_setrlimit64(), svr4_sys_getrlimit64(), ibcs2_sysconf(), and ibcs2_ulimit().
|
#
123753 |
|
23-Dec-2003 |
peter |
GC unused third namespace column.
|
#
122802 |
|
16-Nov-2003 |
sobomax |
Pull latest changes from OpenBSD:
- improve sysinfo(2) syscall; - add dummy fadvise64(2) syscall; - add dummy *xattr(2) family of syscalls; - add protos for the syscalls 222-225, 238-249 and 253-267; - add exit_group(2) syscall, which is currently just wired to exit(2).
Obtained from: OpenBSD MFC after: 2 weeks
|
#
122255 |
|
07-Nov-2003 |
jhb |
Sync up MP safe flags with global syscalls.master for the first time. This includes read(), write(), close(), linux_setuid16(), linux_getuid16(), linux_pause(), linux_nice(), linux_kill(), dup(), linux_pipe(), linux_setgid16(), linux_getgid16(), linux_signal(), linux_geteuid16(), linux_getegid16(), acct(), setpgid(), umask(), dup2(), getppid(), getpgrp(), setsid(), linux_sigaction(), linux_sgetmask(), linux_ssetmask(), linux_setreuid16(), linux_setregid16(), linux_sigsuspend(), getrusage(), gettimeofday(), linux_getgroups16(), linux_setgroups16(), getpriority(), setpriority(), linux_sigreturn(), linux_clone(), linux_sigprocmask(), linux_getsid(), mlock(), munlock(), mlockall(), munlockall(), sched_setparam(), sched_getparam(), linux_sched_setscheduler(), linux_sched_getscheduler(), linux_sched_get_priority_max(), linux_sched_get_priority_min(), sched_rr_get_interval(), linux_setresuid16(), linux_getresuid16(), linux_setresgid16(), linux_getresgid16(), linux_rt_sigaction(), linux_rt_sigprocmask(), linux_rt_sigsuspend(), geteuid(), getegid(), setreuid(), setregid(), linux_getgroups(), linux_setgroups(), setresuid(), getresuid(), setresgid(), getresgid(), setuid(), and setgid().
|
#
111174 |
|
20-Feb-2003 |
tjr |
Mark linux_getpid(), linux_getuid() and linux_getgid() as MPSAFE.
|
#
110978 |
|
16-Feb-2003 |
tjr |
Mark linux_sigpending() as MPSAFE.
|
#
103886 |
|
24-Sep-2002 |
mini |
Back out last commit. Linux uses the old 4.3BSD sockaddr format.
|
#
103839 |
|
23-Sep-2002 |
mini |
Don't use compatability syscall wrappers in emulation code. This is needed for the COMPAT_FREEBSD3 option split.
Reviewed by: alfred, jake
|
#
96888 |
|
18-May-2002 |
marcel |
Sparkling new implementation of linux_ptrace. Slight tweaking by yours truly.
PR: 33299 Submitted by: Alexander N. Kabaev <ak03@gte.com>
|
#
85021 |
|
16-Oct-2001 |
marcel |
o Change prototype of linux_lchown and linux_chown so that the argument names match those on Alpha. o Map the fchown directly to FreeBSD. Since the old version of fchown is also mapped to the native fchown, give the new one type NODEF.
Tested by: Martin Blapp <mb@imp.ch>
|
#
84069 |
|
27-Sep-2001 |
marcel |
Stop using linux_getpgid(). The implementation at this time is broken and fixing it only creates a duplicate of what is already in the FreeBSD kernel. Therefore, map the syscall directly to getpgid().
PR: kern/21402 Submitted by: Christian Weisgerber <naddy@mips.inka.de>
|
#
83219 |
|
08-Sep-2001 |
marcel |
o Introduce private types for use in linux syscalls for two reasons: 1. establish type independence for ease in porting and, 2. provide a visual queue as to which syscalls have proper prototypes to further cleanup the i386/alpha split. Linuxulator types are prefixed by 'l_'. void and char have not been "virtualized".
o Remove dummy functions for syscalls that are now truely unimplemented.
o Rename syscalls so they match the names used in the Linux kernel. Also, provide more accurate prototypes. This generally improves cross-referencing and reduces head-scratching.
o Provide seperate implementations for the 16-bit uid_t and gid_t based syscalls as Linux used to have. The new 32-bit uid_t and gid_t based syscalls now map to their FreeBSD equivalents.
o Fix the linux_ipc syscall so that it doesn't force the shm*, sem* and msg* syscalls to have the same syscall. The prototypes for these syscalls now match the those used on Alpha. While here, add the same kludge for MSGRCV as is present in the Linux kernel.
o Implement the following syscalls: linux_stat64, linux_lstat64 and linux_fstat64 linux_sysctl
o Added syscalls numbered 198 - 221. This include: - the 32-bit uid_t and gid_t bases syscalls - 64-bit file offset/size based syscalls
|
#
82753 |
|
01-Sep-2001 |
dillon |
Synchronize syscalls.master(s) with recent Giant pushdown work
|
#
80179 |
|
23-Jul-2001 |
pirzyk |
Added the proper arguments the sysinfo system call
PR: kern/27759 Reviewed by: marcel Approved by: marcel Obtained from: Linux man page sysinfo(2) MFC after: 1 week
|
#
75053 |
|
01-Apr-2001 |
alc |
Add linux_sched_get_priority_max() and linux_sched_get_priority_min(): The policy parameter requires translation.
|
#
72538 |
|
16-Feb-2001 |
jlemon |
Add mount syscall to linux emulation. Also improve emulation of reboot.
|
#
69079 |
|
23-Nov-2000 |
marcel |
Change the argument of linux_sigreturn to be a pointer to a struct sigframe.
|
#
68583 |
|
10-Nov-2000 |
marcel |
Revert auto-generation. The Alpha port is broken. Syncing with it is wrong.
|
#
68519 |
|
09-Nov-2000 |
marcel |
Sync with Alpha: Do not use sysent.c, proto.h and syscall.h in source tree; use auto-generated versions.
|
#
67234 |
|
16-Oct-2000 |
gallatin |
A start at an implemention of linux_rt_sendsig & linux_rt_sigreturn and associated user-level signal trampoline glue.
Without this patch, an SA_SIGINFO style handler can be installed by a linux app, but if the handler accesses its sip argument, it will get a garbage pointer and likely segfault.
We currently supply a valid pointer, but its contents are mainly garbage. Filling this in properly is future work.
This is the second of 3 commits that will get IBM's JDK 1.3 working with FreeBSD ...
|
#
64001 |
|
29-Jul-2000 |
peter |
Sigh. Fix SYS_exit problems. I misunderstood the significance of these trailing options.
|
#
63986 |
|
28-Jul-2000 |
peter |
Change the 'exit()' system call to 'sys_exit()'. This avoids overlapping gcc's internal exit() prototypes and the (futile) hackery that we did to try and avoid warnings. main() was renamed for similar reasons. Remove an exit related hack from makesyscalls.sh.
|
#
63284 |
|
16-Jul-2000 |
marcel |
Add prototypes for linux_pread and linux_pwrite.
PR: 17991 Submitted by: Geoffrey Speicher <geoff@caribbean.sea-incorporated.com>
|
#
60275 |
|
09-May-2000 |
bde |
Fixed the return type for exit() and the args struct tag several NOPROTO syscalls including exit(). These entries were unused, so the bugs had no effect, but the the args struct tag will be used to calculate sy_nargs correctly. exit() was wrong in all emulators.
|
#
56807 |
|
29-Jan-2000 |
peter |
Use the real setres[ug]id(2) rather than dummy stubs. Newer glibc's call this.
|
#
55783 |
|
10-Jan-2000 |
marcel |
Update the syscalls to Linux kernel 2.3.38.
|
#
53953 |
|
30-Nov-1999 |
marcel |
Implement sigaltstack.
|
#
53755 |
|
27-Nov-1999 |
marcel |
Change prototype of linux_ustat.
|
#
51793 |
|
29-Sep-1999 |
marcel |
sigset_t change (part 4 of 5) -----------------------------
The compatibility code and/or emulators have been updated:
iBCS2 now mostly uses the older syscalls. SVR4 now properly handles all signals. This has been achieved by using the new sigset_t throughout the emulator. The Linuxulator has been severely updated. Internally the new Linux sigset_t is made the default. These are then mapped to and from the new FreeBSD sigset_t.
Also, rt_sigsuspend has been implemented in the Linuxulator. Implementing this syscall basicly caused all this sigset_t changing in the first place and the syscall has been used throughout the change as a means for testing. It basicly is too much work to undo the implementation so that it can later be added again.
A special note on the use of sv_sigtbl and sv_sigsize in struct sysentvec: Every signal larger than sv_sigsize is not translated and is passed on to the signal handler unmodified. Signals in the range 1 upto and including sv_sigsize are translated. The rationale is that only the system defined signals need to be translated.
The emulators also have been updated so that the translation tables are only indexed for valid (system defined) signals. This change also fixes the translation bug already in the SVR4 emulator.
|
#
51569 |
|
22-Sep-1999 |
luoqi |
Implement linux_ioperm() syscall. Fix linux_iopl() to use the level argument. SVGAlib should now work.
Reviewed by: marcel
|
#
50477 |
|
27-Aug-1999 |
peter |
$Id$ -> $FreeBSD$
|
#
50344 |
|
25-Aug-1999 |
marcel |
Change all UNIMPL syscalls to STD and add them to linux_dummy. Now we always know if and when an unimplemented or obsoleted syscall is being used. Make the message more end-user friendly.
And as long as we're here, rename some unimplemeted syscalls (linux_phys -> linux_umount2, linux_vm86 -> linux_vm86old, linux_new_vm86 -> linux_vm86).
Change prototype for linux_newuname from `struct linux_newuname_t *' into `struct linux_new_utsname *'. This change is reflected in linux.h and linux_misc.c.
Lastly, make line-continuation and indentation more uniform.
|
#
49889 |
|
16-Aug-1999 |
marcel |
Implement vfork() syscall.
|
#
49848 |
|
15-Aug-1999 |
marcel |
Provide wrappers for sched_{s|g}etscheduler. We need to convert the policy argument.
PR: 12006
|
#
49787 |
|
14-Aug-1999 |
marcel |
Extend the number of syscalls to include those present in Linux 2.2.10. These are syscalls 183 to 190. Also implement syscall 183: linux_getcwd. This is needed to support a RH 6.0 environment.
|
#
49784 |
|
14-Aug-1999 |
marcel |
Implementation of linux_rt_sigaction and linux_rt_sigprocmask syscalls. These syscalls are needed to support a RH 6.0 environment.
|
#
49662 |
|
12-Aug-1999 |
marcel |
Use a wrapper for the link syscall that does name translations.
PR: 12749 Submitted by: Boris Nikolaus <boris@cs.tu-berlin.de>
|
#
49624 |
|
11-Aug-1999 |
marcel |
Do not map {s|g}etrlimit onto the FreeBSD syscalls. The arguments do not match.
PR: kern/9591 Originator: John Plevyak <jplevyak@inktomi.com>
|
#
42184 |
|
30-Dec-1998 |
sos |
Commit #1 of:
PR: 9235
|
#
41997 |
|
22-Dec-1998 |
sos |
Fix NOIMPL -> NOPROTO as per bruce.
|
#
41987 |
|
21-Dec-1998 |
sos |
Syscall 168 (poll) is not implemented in the Linux emulator. This syscall is used by Oracle.
PR: 9154 Submitted by: Marcel Moolenaar <marcel@scc.nl>
|
#
41931 |
|
19-Dec-1998 |
julian |
Reviewed by: Luoqi Chen, Jordan Hubbard Submitted by: "Richard Seaman, Jr." <lists@tar.com> Obtained from: linux :-)
Code to allow Linux Threads to run under FreeBSD.
By default not enabled This code is dependent on the conditional COMPAT_LINUX_THREADS (suggested by Garret) This is not yet a 'real' option but will be within some number of hours.
|
#
37548 |
|
10-Jul-1998 |
jkh |
Quick and dirty support for Linux's mremap. Not used by anything but quake2 AFAIK.
Submitted by: Luoqi Chen <luoqi@watermarkgroup.com>
|
#
36781 |
|
09-Jun-1998 |
bde |
Include "opt_compat.h" explicitly instead of depending on makesyscalls.sh generating it as pollution.
Don't attempt to separate the includes by newlines. makesyscalls.sh just ignores newlines.
|
#
34941 |
|
29-Mar-1998 |
peter |
The linux chown syscall is more like lchown, a new chown syscall that follows links was added.
|
#
34939 |
|
29-Mar-1998 |
peter |
Patch up some space/tab problems. It looks like some of this came from an xterm via cut/paste. No other changes apart from whitespace.
|
#
34937 |
|
29-Mar-1998 |
peter |
Add in placeholders for the newer linux syscalls
|
#
34925 |
|
28-Mar-1998 |
dufault |
Finish _POSIX_PRIORITY_SCHEDULING. Needs P1003_1B and _KPOSIX_PRIORITY_SCHEDULING options to work. Changes:
Change all "posix4" to "p1003_1b". Misnamed files are left as "posix4" until I'm told if I can simply delete them and add new ones;
Add _POSIX_PRIORITY_SCHEDULING system calls for FreeBSD and Linux;
Add man pages for _POSIX_PRIORITY_SCHEDULING system calls;
Add options to LINT;
Minor fixes to P1003_1B code during testing.
|
#
31795 |
|
17-Dec-1997 |
kato |
I should not edit linux_prot.h directly. Fix the argument of linux_nice.
Pointed out by: Eivind Eklund <eivind@FreeBSD.ORG> NOPROTO LINUX { int getpgrp(void); } 66 NOPROTO LINUX { int setsid(void); } 67 STD LINUX { int linux_sigaction(int sig, \ struct linux_sigaction *nsa, \ struct linux_sigaction *osa); } 68 STD LINUX { int linux_siggetmask(void); } 69 STD LINUX { int linux_sigsetmask(linux_sigset_t mask); } 70 NOPROTO LINUX { int setreuid(int ruid, int euid); } 71 NOPROTO LINUX { int setregid(int rgid, int egid); } 72 STD LINUX { int linux_sigsuspend(int restart, \ linux_sigset_t oldmask, linux_sigset_t mask); } 73 STD LINUX { int linux_sigpending(linux_sigset_t *mask); } 74 NOPROTO LINUX { int osethostname(char *hostname, \ u_int len);} 75 NOPROTO LINUX { int osetrlimit(u_int which, \ struct ogetrlimit *rlp); } 76 NOPROTO LINUX { int ogetrlimit(u_int which, \ struct ogetrlimit *rlp); } 77 NOPROTO LINUX { int getrusage(int who, struct rusage *rusage); } 78 NOPROTO LINUX { int gettimeofday(struct timeval *tp, \ struct timezone *tzp); } 79 NOPROTO LINUX { int settimeofday(struct timeval *tp, \ struct timezone *tzp); } 80 NOPROTO LINUX { int getgroups(u_int gidsetsize, gid_t *gidset); } 81 NOPROTO LINUX { int setgroups(u_int gidsetsize, gid_t *gidset); } 82 STD LINUX { int linux_select(struct linux_select_argv *ptr); } 83 STD LINUX { int linux_symlink(char *path, char *to); } 84 NOPROTO LINUX { int ostat(char *path, struct ostat *up); } 85 STD LINUX { int linux_readlink(char *name, char *buf, \ int count); } 86 STD LINUX { int linux_uselib(char *library); } 87 NOPROTO LINUX { int swapon(char *name); } 88 NOPROTO LINUX { int reboot(int opt); } 89 STD LINUX { int linux_readdir(int fd, struct linux_dirent *dent, \ unsigned int count); } 90 STD LINUX { int linux_mmap(struct linux_mmap_argv *ptr); } 91 NOPROTO LINUX { int munmap(caddr_t addr, int len); } 92 STD LINUX { int linux_truncate(char *path, long length); } 93 NOPROTO LINUX { int oftruncate(int fd, long length); } 94 NOPROTO LINUX { int fchmod(int fd, int mode); } 95 NOPROTO LINUX { int fchown(int fd, int uid, int gid); } 96 NOPROTO LINUX { int getpriority(int which, int who); } 97 NOPROTO LINUX { int setpriority(int which, int who, int prio); } 98 NOPROTO LINUX { int profil(caddr_t samples, u_int size, \ u_int offset, u_int scale); } 99 STD LINUX { int linux_statfs(char *path, \ struct linux_statfs_buf *buf); } 100 STD LINUX { int linux_fstatfs(int fd, \ struct linux_statfs_buf *buf); } 101 STD LINUX { int linux_ioperm(unsigned int lo, \ unsigned int hi, int val); } 102 STD LINUX { int linux_socketcall(int what, void *args); } 103 STD LINUX { int linux_ksyslog(int what); } 104 STD LINUX { int linux_setitimer(u_int which, \ struct itimerval *itv, struct itimerval *oitv); } 105 STD LINUX { int linux_getitimer(u_int which, \ struct itimerval *itv); } 106 STD LINUX { int linux_newstat(char *path, \ struct linux_newstat *buf); } 107 STD LINUX { int linux_newlstat(char *path, \ struct linux_newstat *buf); } 108 STD LINUX { int linux_newfstat(int fd, struct linux_newstat *buf); } 109 STD LINUX { int linux_uname(struct linux_old_utsname *up); } 110 STD LINUX { int linux_iopl(int level); } 111 STD LINUX { int linux_vhangup(void); } 112 STD LINUX { int linux_idle(void); } 113 STD LINUX { int linux_vm86(void); } 114 STD LINUX { int linux_wait4(int pid, int *status, \ int options, struct rusage *rusage); } 115 STD LINUX { int linux_swapoff(void); } 116 STD LINUX { int linux_sysinfo(void); } 117 STD LINUX { int linux_ipc(int what, int arg1, int arg2, int arg3, \ caddr_t ptr); } 118 NOPROTO LINUX { int fsync(int fd); } 119 STD LINUX { int linux_sigreturn(struct linux_sigcontext *scp); } access
|
#
24745 |
|
09-Apr-1997 |
bde |
Removed unused #includes.
|
#
22975 |
|
22-Feb-1997 |
peter |
Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not ready for it yet.
|
#
21673 |
|
14-Jan-1997 |
jkh |
Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long.
Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
|
#
14380 |
|
04-Mar-1996 |
peter |
Oops.. I was wrong about the change to sigsuspend. The library interface is different to the syscall under Linux, back this out.
Use correct arg type for linux_utime()
|
#
14330 |
|
02-Mar-1996 |
peter |
A new syscalls table for the Linux emulator. This is processed by makesyscalls.sh to generate the rest of the tables.
|