summaryrefslogtreecommitdiffstats
path: root/lib/libc/amd64/sys
Commit message (Collapse)AuthorAgeFilesLines
* Restore CSRG ID's lost in January 1995.obrien2002-03-2310-40/+50
|
* Use 'mov' instead of 'lea' for setting the syscall number in %eax as thatjhb2001-11-275-7/+7
| | | | | | is clearer about what we are actually doing. Requested by: bde
* Cleanups after previous change:jhb2001-11-131-9/+2
| | | | | | | | | | | - Renumber labels since the previous revision removed one. - Remove useless and wrong comment. - Repeating the function name is just redundant. - The previous revision made the comment about %edx useless. - The comment about %eax was wrong (but did explain why %eax used to be fixed up). Submitted by: bde
* The kernel already fixes up %eax for parents that return from fork, sojhb2001-11-132-6/+2
| | | | | don't bother manually fixing up %eax for the parent process by testing the value in %edx and zeroing and already zeroed %eax.
* De-orbit DEFS.h - the other arches do not use it, and it got replacedpeter2001-10-241-1/+0
| | | | | | with <machine/asm.h>. Reviewed by: bde
* Just use RSYSCALL.ru2001-10-191-2/+1
|
* Removed duplicate VCS ID tags, as per style(9).ru2001-08-1310-20/+0
|
* MAN[1-9] -> MAN.ru2001-03-271-2/+2
|
* Clean up syscall generation in libc by removing HIDDEN_SYSCALLSdeischen2001-01-293-7/+3
| | | | | | | | | | | | | | 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
* Comment only change; s/_thread_sys_/__sys_/deischen2001-01-261-2/+2
|
* Remove _THREAD_SAFE and make libc thread-safe by default bydeischen2001-01-242-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | adding (weak definitions to) stubs for some of the pthread functions. If the threads library is linked in, the real pthread functions will pulled in. Use the following convention for system calls wrapped by the threads library: __sys_foo - actual system call _foo - weak definition to __sys_foo foo - weak definition to __sys_foo Change all libc uses of system calls wrapped by the threads library from foo to _foo. In order to define the prototypes for _foo(), we introduce namespace.h and un-namespace.h (suggested by bde). All files that need to reference these system calls, should include namespace.h before any standard includes, then include un-namespace.h after the standard includes and before any local includes. <db.h> is an exception and shouldn't be included in between namespace.h and un-namespace.h namespace.h will define foo to _foo, and un-namespace.h will undefine foo. Try to eliminate some of the recursive calls to MT-safe functions in libc/stdio in preparation for adding a mutex to FILE. We have recursive mutexes, but would like to avoid using them if possible. Remove uneeded includes of <errno.h> from a few files. Add $FreeBSD$ to a few files in order to pass commitprep. Approved by: -arch
* Remove last vestiges of thr_sleep and thr_wakeup from libc.jake2000-12-021-1/+1
|
* Prefix the register argument of indirect 'jmp's with a * to make gas 2.10.xjhb2000-11-281-1/+1
| | | | happy.
* Add a couple of debug register helper functions to assist in settingbsd2000-09-211-2/+4
| | | | | | and clearing watchpoints. Reviewed by: jwd@FreeBSD.org, -hackers@
* Remove osig* from NOASM. It bogus now.marcel1999-10-141-2/+1
|
* Remove syscall wrappers.marcel1999-10-091-3/+2
|
* sigset_t change (part 5 of 5)marcel1999-09-291-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ----------------------------- 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.
* $Id$ -> $FreeBSD$peter1999-08-2811-21/+21
|
* Add wrappers for pread and pwrite syscalls.dt1999-04-041-3/+3
|
* Simplify implementation and eliminate a register preservation problem.luoqi1998-09-181-24/+10
| | | | Reviewed by: Bruce Evans <bde@zeta.org.au>
* Fix a cut 'n paste mistake.luoqi1998-09-131-4/+4
|
* In libc_r, rename vfork syscall to _thread_sys_vfork and make vfork an aliasdt1998-09-121-2/+6
| | | | | | | to fork. It is difficult to do real vfork in libc_r, since almost every operation with file descriptsor changes _thread_fd_table and friends. popen(3) works much better with this change.
* Fixed disordering in previous commit.bde1998-07-291-4/+4
|
* Add wrappers for i386_*_ioperm, i386_vm86 so userland code doesjlemon1998-07-281-3/+5
| | | | | not have to call sysarch() directly. Added man pages for above, as well as sysarch()
* Use the thread-aware errno definition all the time.jb1998-05-051-22/+3
|
* Oops, backout the previous change having confused my underscores.jb1998-04-301-3/+2
| | | | | | __thread_create is a syscall that uses the default asm. It is _thread_create that contains specific asm code, but that lives in libpthread.
* Make cerror thread aware by calling __error() to get a pointer to thejb1998-04-301-22/+5
| | | | | thread-specific error variable. This change make libc use the same cerror code that libc_r has been using.
* The syscall that creates a kernel thread is coming, but it doesn't use thejb1998-04-301-4/+3
| | | | | | 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.
* Nearly missed this one.jb1998-03-091-1/+20
| | | | | | | 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.
* Removed bogus .PATH statement.bde1997-10-161-3/+1
|
* Removed the subdirectory paths from the definitions of MAN[1-9]. Theybde1997-10-161-3/+2
| | | | | were a workaround for limitations in bsd.man.mk that were fixed about 2 years ago.
* Changed all paths to be relative to src/lib instead of src/lib/libcjb1997-05-031-2/+5
| | | | | | | | | | 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.
* Revert $FreeBSD$ to $Id$peter1997-02-2211-21/+21
|
* Make the long-awaited change from $Id$ to $FreeBSD$jkh1997-01-1411-21/+21
| | | | | | | | 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.
* Submitted by: John Birrell <cimaxp1!jb@werple.net.au>julian1996-08-202-14/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Here are the diffs for libc_r to get it one step closer to P1003.1c These make most of the thread/mutex/condvar structures opaque to the user. There are three functions which have been renamed with _np suffixes because they are extensions to P1003.1c (I did them for JAVA, which needs to suspend/resume threads and also start threads suspended). I've created a new header (pthread_np.h) for the non-POSIX stuff. The egrep tags stuff in /usr/src/lib/libc_r/Makefile that I uncommented doesn't work. I think its best to delete it. I don't think libc_r needs tags anyway, 'cause most of the source is in libc which does have tags. also: Here's the first batch of man pages for the thread functions. The diff to /usr/src/lib/libc_r/Makefile removes some stuff that was inherited from /usr/src/lib/libc/Makefile that should only be done with libc. also: I should have sent this diff with the pthread(3) man page. It allows people to type make -DWANT_LIBC_R world to get libc_r built with the rest of the world. I put this in the pthread(3) man page. The default is still not to build libc_r. also: The diff attached adds a pthread(3) man page to /usr/src/share/man/man3. The idea is that without libc_r installed, this man page will give people enough info to know that they have to build libc_r.
* Fixed comparisons so that preposterously large (>= 0x80000000) brk valuesbde1996-06-251-5/+5
| | | | | | | | | | aren't silently converted to minbrk. This stops malloc(INT_MAX) from dumping core. Small values are still silently converted. They should be an error. sbrk() doesn't do any range checking or conversions or overflow checking. Moved PIC_EPILOGUE invocation to a more natural place where it obviously doesn't interfere with the comparison.
* Fix a bogon in the pic + threadsafe version of cerror, it was missingpeter1996-05-101-3/+5
| | | | | | a PIC_EPILOGUE (leaving an extra long on the stack). Submitted by: John Polstra <jdp@polstra.com>
* Add support to enable libc to be compiled in ELF format. (#ifdef __ELF__)peter1996-05-059-92/+96
| | | | | | | | | | | In a nutshell, this macroizes the local/global symbol scoping rules that are different in a.out and ELF. It also makes the i386 assembler stubs conform to i386 PIC calling conventions - the a.out ld.so didn't object, but the ELF one needs it as it implements PIC jumps via PLT's as well as calls. The a.out rtld only worked because it was accidently snooping the grandparent calling function's return address off the stack.. This also affects the libc_r code a little, because of cpp macro nesting.
* Reviewed by: julian and (hsu?)julian1996-01-224-11/+57
| | | | | | Submitted by: John Birrel(L?) changes for threadsafe operations
* Calling sbrk(2) with zero argument doesn't need to generate a syscall.phk1995-10-041-4/+10
| | | | Reviewed by: bde
* First round of changes to clean up the RCSID mess in libc:dg1995-01-2310-40/+50
| | | | | | | | 1) Changed LIB_SCCS and SYSLIB_SCCS to LIB_RCS and SYSLIB_RCS. 2) Changed sccsid[] variables to rcsid[] 3) Moved all RCSID strings into .text 4) Converted all SCCSID's to RCS $Id$'s 5) Added missing $Id$'s after copyright.
* Fixed problem with returning -1 on error when the return value is adg1994-08-131-1/+2
| | | | | | | | long long. Done by plugging both eax and edx with -1. This will clobber edx unnecessarily when the return value is only 32bit...though probably always an okay thing to do, it could stand a better fix. This was the cause of gawk being broken (boy was THAT ever a subtle bug!!!).
* First crack at making libc work with the new make macros. It compiles onwollman1994-08-0510-0/+640
| | | | | my machine, and a simple static (genassym) and shared (sysctl) executable both work. Still to be done: RPCand YP merge.
* Add $Id$ to all, clean up multiple spacesrgrimes1994-02-211-2/+3
|
* WINE/user LDT support from John Brezak, ported to FreeBSD by Jeffrey Hsudg1994-01-311-0/+9
<hsu@soda.berkeley.edu>.
OpenPOWER on IntegriCloud