#
323538 |
|
13-Sep-2017 |
kib |
MFC 322763: Optimize libc to get and set TLS using the RDFSBASE and RDGSBASE instructions, if supported both by CPU and kernel.
|
#
305866 |
|
16-Sep-2016 |
kib |
MFC r304285: Implement userspace gettimeofday(2) with HPET timecounter.
|
#
305329 |
|
03-Sep-2016 |
kib |
MFC r304928: Do not obliterate errno value in the main thread during ptrace(2) call on x86.
MFC r304931: Follow ABI when calling __error from the ptrace(2) wrapper.
MFC r305012: Rewrite ptrace(2) wrappers in C.
MFC r305022: Restore the requirement of setting errno to zero before calling ptrace(2).
|
#
302408 |
|
07-Jul-2016 |
gjb |
Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle. Prune svn:mergeinfo from the new branch, as nothing has been merged here.
Additional commits post-branch will follow.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
302092 |
|
22-Jun-2016 |
brooks |
Replace use of the pipe(2) system call with pipe2(2) with a zero flags value.
This eliminates the need for machine dependant assembly wrappers for pipe(2).
It also make passing an invalid address to pipe(2) return EFAULT rather than triggering a segfault. Document this behavior (which was already true for pipe2(2), but undocumented).
Reviewed by: andrew Approved by: re (gjb) Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D6815
|
#
285240 |
|
07-Jul-2015 |
trasz |
Remove reboot.S (part of libc). It's not needed and was actually broken - returning 0 from reboot(2) resulted in SIGBUS.
MFC after: 1 month Sponsored by: The FreeBSD Foundation
|
#
281714 |
|
18-Apr-2015 |
kib |
The lseek(2), mmap(2), truncate(2), ftruncate(2), pread(2), and pwrite(2) syscalls are wrapped to provide compatibility with pre-7.x kernels which required padding before the off_t parameter. The fcntl(2) contains compatibility code to handle kernels before the struct flock was changed during the 8.x CURRENT development. The shims were reasonable to allow easier revert to the older kernel at that time.
Now, two or three major releases later, shims do not serve any purpose. Such old kernels cannot handle current libc, so revert the compatibility code.
Make padded syscalls support conditional under the COMPAT6 config option. For COMPAT32, the syscalls were under COMPAT6 already.
Remove WITHOUT_SYSCALL_COMPAT build option, which only purpose was to (partially) disable the removed shims.
Reviewed by: jhb, imp (previous versions) Discussed with: peter Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
#
264155 |
|
05-Apr-2014 |
imp |
Convert from WITHOUT_SYSCALL_COMPAT to MK_SYSCALL_COMPAT.
|
#
237434 |
|
22-Jun-2012 |
kib |
Use struct vdso_timehands data to implement fast gettimeofday(2) and clock_gettime(2) functions if supported. The speedup seen in microbenchmarks is in range 4x-7x depending on the hardware.
Only amd64 and i386 architectures are supported. Libc uses rdtsc and kernel data to calculate current time, if enabled by kernel.
Hopefully, this code is going to migrate into vdso in some future.
Discussed with: bde Reviewed by: jhb Tested by: flo 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
|
#
171218 |
|
04-Jul-2007 |
peter |
Classify mmap, lseek, pread, pwrite, truncate, ftruncate as pseudo syscalls, unless WITHOUT_SYSCALL_COMPAT is defined. The default case will have the .c wrappers still. If you define WITHOUT_SYSCALL_COMPAT, the .c wrappers will go away and libc will make direct syscalls.
After 7-stable starts, the direct syscall method will be default.
Approved by: re (kensmith)
|
#
121407 |
|
23-Oct-2003 |
peter |
Add implementations of amd64_[gs]et_[fg]sbase().
|
#
119726 |
|
03-Sep-2003 |
peter |
Apply same basic fix for getcontext(2) as for i386. Store the return value for getcontext() in a preserved register rather than on the stack. The second time around, the stack value would likely have changed so we can't depend on it for the return value.
|
#
118771 |
|
11-Aug-2003 |
bms |
Add the mlockall() and munlockall() system calls. - All those diffs to syscalls.master for each architecture *are* necessary. This needed clarification; the stub code generation for mlockall() was disabled, which would prevent applications from linking to this API (suggested by mux) - Giant has been quoshed. It is no longer held by the code, as the required locking has been pushed down within vm_map.c. - Callers must specify VM_MAP_WIRE_HOLESOK or VM_MAP_WIRE_NOHOLES to express their intention explicitly. - Inspected at the vmstat, top and vm pager sysctl stats level. Paging-in activity is occurring correctly, using a test harness. - The RES size for a process may appear to be greater than its SIZE. This is believed to be due to mappings of the same shared library page being wired twice. Further exploration is needed. - Believed to back out of allocations and locks correctly (tested with WITNESS, MUTEX_PROFILING, INVARIANTS and DIAGNOSTIC).
PR: kern/43426, standards/54223 Reviewed by: jake, alc Approved by: jake (mentor) MFC after: 2 weeks
|
#
114314 |
|
30-Apr-2003 |
peter |
Delete i386_* syscall wrappers and manpages. Rename Ovfork.S to vfork.S.
|
#
107052 |
|
18-Nov-2002 |
ru |
libc_r wasn't so tied to libc for 22 months.
|
#
97191 |
|
23-May-2002 |
jake |
Generate the normal asm stubs for all sysv system calls. Use these instead of C wrappers for the *sys indirect system calls. The indirect system calls are horribly broken on sparc64.
Submitted by: tmm
|
#
86314 |
|
13-Nov-2001 |
jhb |
The kernel already fixes up %eax for parents that return from fork, so don't bother manually fixing up %eax for the parent process by testing the value in %edx and zeroing and already zeroed %eax.
|
#
74870 |
|
27-Mar-2001 |
ru |
MAN[1-9] -> MAN.
|
#
71770 |
|
29-Jan-2001 |
deischen |
Clean up syscall generation in libc by removing HIDDEN_SYSCALLS and treating (almost) all system calls the same way:
__sys_foo - actual syscall foo, _foo - weak definitions to __sys_foo
Change PSEUDO syscalls (currently only _exit and _getlogin) to be __sys_foo (T) and _foo (W).
Add $FreeBSD$ to a few files to satisfy commitprep.
Suggested by: bde
|
#
71663 |
|
26-Jan-2001 |
deischen |
Comment only change; s/_thread_sys_/__sys_/
|
#
69515 |
|
02-Dec-2000 |
jake |
Remove last vestiges of thr_sleep and thr_wakeup from libc.
|
#
66174 |
|
21-Sep-2000 |
bsd |
Add a couple of debug register helper functions to assist in setting and clearing watchpoints.
Reviewed by: jwd@FreeBSD.org, -hackers@
|
#
52232 |
|
14-Oct-1999 |
marcel |
Remove osig* from NOASM. It bogus now.
|
#
52062 |
|
09-Oct-1999 |
marcel |
Remove syscall wrappers.
|
#
51794 |
|
29-Sep-1999 |
marcel |
sigset_t change (part 5 of 5) -----------------------------
Most of the userland changes are in libc. For both the alpha and the i386 setjmp has been changed to accomodate for the new sigset_t. Internally, libc is mostly rewritten to use the new syscalls. The exception is in compat-43/sigcompat.c
The POSIX thread library has also been rewritten to use the new sigset_t. Except, that it currently only handles NSIG signals instead of the maximum _SIG_MAXSIG. This should not be a problem because current applications don't use any signals higher than NSIG.
There are version bumps for the following libraries: libdialog libreadline libc libc_r libedit libftpio libss
These libraries either a) have one of the modified structures visible in the interface, or b) use sigset_t internally and may cause breakage if new binaries are used against libraries that don't have the sigset_t change. This not an immediate issue, but will be as soon as applications start using the new range to its fullest.
NOTE: libncurses already had an version bump and has not been given one now.
NOTE: doscmd is a real casualty and has been disconnected for the moment. Reconnection will eventually happen after doscmd has been fixed. I'm aware that being the last one to touch it, I'm automaticly promoted to being maintainer. According to good taste this means that I will receive a badge which either will be glued or mechanically stapled, drilled or otherwise violently forced onto me :-)
NOTE: pcvt/vttest cannot be compiled with -traditional. The change cause sys/types to be included along the way which contains the const and volatile modifiers. I don't consider this a solution, but more a workaround.
|
#
50476 |
|
27-Aug-1999 |
peter |
$Id$ -> $FreeBSD$
|
#
45313 |
|
04-Apr-1999 |
dt |
Add wrappers for pread and pwrite syscalls.
|
#
37946 |
|
29-Jul-1998 |
bde |
Fixed disordering in previous commit.
|
#
37903 |
|
28-Jul-1998 |
jlemon |
Add wrappers for i386_*_ioperm, i386_vm86 so userland code does not have to call sysarch() directly. Added man pages for above, as well as sysarch()
|
#
35544 |
|
30-Apr-1998 |
jb |
Oops, backout the previous change having confused my underscores. __thread_create is a syscall that uses the default asm. It is _thread_create that contains specific asm code, but that lives in libpthread.
|
#
35540 |
|
30-Apr-1998 |
jb |
The syscall that creates a kernel thread is coming, but it doesn't use the default syscall asm, so add it to NOASM. The other syscalls that manipulate kernel threads use the default asm code, so they just get built automatically.
|
#
34388 |
|
09-Mar-1998 |
jb |
Nearly missed this one.
List non-default asm sources in MDASM so that they replace the defaults.
For funny or incomplete syscalls, list them in NOASM to stop them from getting built as defaults.
|
#
30483 |
|
16-Oct-1997 |
bde |
Removed bogus .PATH statement.
|
#
30482 |
|
16-Oct-1997 |
bde |
Removed the subdirectory paths from the definitions of MAN[1-9]. They were a workaround for limitations in bsd.man.mk that were fixed about 2 years ago.
|
#
25401 |
|
03-May-1997 |
jb |
Changed all paths to be relative to src/lib instead of src/lib/libc so that all these makefiles can be used to build libc_r too.
Added .if ${LIB} == "c" tests to restrict man page builds to libc to avoid needlessly building them with libc_r too.
Split libc Makefile into Makefile and Makefile.inc to allow the libc_r Makefile to include Makefile.inc too.
|
#
22993 |
|
22-Feb-1997 |
peter |
Revert $FreeBSD$ to $Id$
|
#
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.
|
#
1187 |
|
21-Feb-1994 |
rgrimes |
Add $Id$ to all, clean up multiple spaces
|
#
1052 |
|
31-Jan-1994 |
dg |
WINE/user LDT support from John Brezak, ported to FreeBSD by Jeffrey Hsu <hsu@soda.berkeley.edu>.
|