summaryrefslogtreecommitdiffstats
path: root/lib/libc/i386
Commit message (Collapse)AuthorAgeFilesLines
* o Implement C99 classification macros isfinite(), isinf(), isnan(),mike2003-02-121-0/+2
| | | | | | | | | isnormal(). The current isinf() and isnan() are perserved for binary compatibility with 5.0, but new programs will use the macros. o Implement C99 comparison macros isgreater(), isgreaterequal(), isless(), islessequal(), islessgreater(), isunordered(). Submitted by: David Schultz <dschultz@uclink.Berkeley.EDU>
* Implement fpclassify():mike2003-02-082-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | o Add a MD header private to libc called _fpmath.h; this header contains bitfield layouts of MD floating-point types. o Add a MI header private to libc called fpmath.h; this header contains bitfield layouts of MI floating-point types. o Add private libc variables to lib/libc/$arch/gen/infinity.c for storing NaN values. o Add __double_t and __float_t to <machine/_types.h>, and provide double_t and float_t typedefs in <math.h>. o Add some C99 manifest constants (FP_ILOGB0, FP_ILOGBNAN, HUGE_VALF, HUGE_VALL, INFINITY, NAN, and return values for fpclassify()) to <math.h> and others (FLT_EVAL_METHOD, DECIMAL_DIG) to <float.h> via <machine/float.h>. o Add C99 macro fpclassify() which calls __fpclassify{d,f,l}() based on the size of its argument. __fpclassifyl() is never called on alpha because (sizeof(long double) == sizeof(double)), which is good since __fpclassifyl() can't deal with such a small `long double'. This was developed by David Schultz and myself with input from bde and fenner. PR: 23103 Submitted by: David Schultz <dschultz@uclink.Berkeley.EDU> (significant portions) Reviewed by: bde, fenner (earlier versions)
* Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup,schweikh2003-01-011-1/+1
| | | | especially in troff files.
* english(4) police.schweikh2002-12-271-1/+1
|
* Back out the -fpcc-struct-return fixes.kan2002-12-222-24/+68
| | | | Approved by: re (rwatson)
* Import newer versions of div() and ldiv() from NetBSD which handletjr2002-12-212-68/+24
| | | | | | the -fpcc-struct-return calling convention properly instead of returning garbage. This may break backwards compatibility with some old binaries that were compiled when -fno-pcc-struct-return was the default.
* mdoc(7) police: "The .Fa argument.".ru2002-12-193-3/+15
|
* mdoc(7) police: Fixed abuses of the .Ar and .Em macros.ru2002-12-181-1/+1
|
* mdoc(7) police: "The .Fn function".ru2002-12-181-0/+8
|
* mdoc(7) police: "The .Fn system call".ru2002-12-183-0/+18
|
* libc_r wasn't so tied to libc for 22 months.ru2002-11-181-2/+0
|
* Disconnect the userland get/set/swapcontext() functions fromdeischen2002-11-161-2/+2
| | | | | | | | | libc. I want to keep these in some version for the thread library/ies, but don't know whether to have them repo-copied to libc_r or renamed and kept in libc. Change the name of an alpha macro that was changed with the system call commit.
* Re-apply the previously backed-out commit that fixes the problem wherearchie2002-10-311-1/+1
| | | | | | | | HUGE_VAL is not properly aligned on some architectures. The previous fix now works because the two versions of 'math.h' (include/math.h and lib/msun/src/math.h) have since been merged into one. PR: bin/43544
* track gratuitous change to sys/i386/include/reg.hsam2002-10-212-4/+4
|
* Eliminate superfluous memory access in memcpy(3)/memmove(3).sobomax2002-10-151-13/+8
| | | | | Obtained from: NetBSD MFC after: 1 week
* Style cleanup:mini2002-09-211-14/+11
| | | | | | | | | | | - Sort local variable declarations. - Protect a hand-formatted comment from indent(1). - Use portable casts, even though this is machine-dependant code. - Remove extraneous blank lines. - Remove trailing newline. - Use sigdelset(3), not SIGDELSET(9). Requested by: bde
* Revert previous commit to unbreak world until we figure out thearchie2002-09-201-1/+1
| | | | right way to do it.
* Fix a problem with the definition of HUGE_VAL causing the gcc warningarchie2002-09-191-1/+1
| | | | | | "cast increases required alignment of target type" on some platforms. Reviewed by: bde
* Fixed editing error in previous commit (*blush*).bde2002-09-171-1/+1
|
* Fixed unsorting of SRCS.bde2002-09-171-2/+2
|
* Use a weak symbol for signalcontext().mini2002-09-171-1/+3
|
* Add signalcontext(), which adds a signal frame to a ucontext_t.mini2002-09-171-0/+80
|
* Initiate deorbit burn for the i386-only a.out related support. Moves arepeter2002-09-171-5/+1
| | | | | | | | | | | | | | | under way to move the remnants of the a.out toolchain to ports. As the comment in src/Makefile said, this stuff is deprecated and one should not expect this to remain beyond 4.0-REL. It has already lasted WAY beyond that. Notable exceptions: gcc - I have not touched the a.out generation stuff there. ldd/ldconfig - still have some code to interface with a.out rtld. old as/ld/etc - I have not removed these yet, pending their move to ports. some includes - necessary for ldd/ldconfig for now. Tested on: i386 (extensively), alpha
* Save and restore FPU state properly in ucontext_t's.mini2002-09-163-35/+28
| | | | | Reviewed by: deischen, julian Approved by: -arch
* Include <stdlib.h> to have abort() and exit() declared.robert2002-08-151-0/+1
|
* Use '_end' symbol instead of 'end' to initialize minbrk and curbrkkan2002-08-081-3/+3
| | | | | | | | | | | | | variables. Both symbols are set to the same value by the linker, and _end symbol has less chances to clash with application defined global symbols. alpha, ia64 and sparc64 ports already use _end, i386 is now consistent with them. Reviewed by: bde Approved by: obrien Reported by: pirzyk
* Fix style bugs I added in last commit.silby2002-06-271-4/+4
| | | | Spotted by: bde
* Modify bcopy (and memcpy/memmove) so that the length value is notsilby2002-06-271-2/+4
| | | | | | | | re-read from the stack mid copy. This may help mitigate the recent Apache buffer overrun and future overruns of the sort. Reviewed by: jdp MFC after: 2 days
* Fix typo in the BSD copyright: s/withough/without/schweikh2002-06-0213-13/+13
| | | | | Spotted and suggested by: des MFC after: 3 weeks
* Generate the normal asm stubs for all sysv system calls. Use these insteadjake2002-05-231-5/+3
| | | | | | | of C wrappers for the *sys indirect system calls. The indirect system calls are horribly broken on sparc64. Submitted by: tmm
* Standardize on our SCM ID style.obrien2002-03-2326-121/+36
|
* Restore CSRG ID's lost in January 1995.obrien2002-03-2326-100/+139
|
* Fix the style of the SCM ID's.obrien2002-03-221-2/+1
| | | | I believe have made all of libc .h's as consistent as possible.
* Fix the style of the SCM ID's.obrien2002-03-2211-45/+23
| | | | I believe have made all of libc .c's as consistent as possible.
* Move swapcontext.c to the ${MACHINE_ARCH}/gen/Makefile.inc area, otherwisepeter2002-03-211-1/+1
| | | | | it causes undefined references to getcontext() and setcontext() on platforms other than i386 and alpha.
* cosmetic: spell 'cashe' as 'cache'billf2002-03-103-3/+3
|
* o Move NTOHL() and associated macros into <sys/param.h>. These aremike2002-02-184-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | deprecated in favor of the POSIX-defined lowercase variants. o Change all occurrences of NTOHL() and associated marcros in the source tree to use the lowercase function variants. o Add missing license bits to sparc64's <machine/endian.h>. Approved by: jake o Clean up <machine/endian.h> files. o Remove unused __uint16_swap_uint32() from i386's <machine/endian.h>. o Remove prototypes for non-existent bswapXX() functions. o Include <machine/endian.h> in <arpa/inet.h> to define the POSIX-required ntohl() family of functions. o Do similar things to expose the ntohl() family in libstand, <netinet/in.h>, and <sys/param.h>. o Prepend underscores to the ntohl() family to help deal with complexities associated with having MD (asm and inline) versions, and having to prevent exposure of these functions in other headers that happen to make use of endian-specific defines. o Create weak aliases to the canonical function name to help deal with third-party software forgetting to include an appropriate header. o Remove some now unneeded pollution from <sys/types.h>. o Add missing <arpa/inet.h> includes in userland. Tested on: alpha, i386 Reviewed by: bde, jake, tmm
* Fixed unsorting and splitting of SRCS in previous commit.bde2002-01-111-2/+2
|
* Add getcontext, setcontext, makecontext, and swapcontext. Thesedeischen2002-01-104-0/+381
| | | | | | | | | functions are defined in SUSv2 and the latest POSIX spec. Thanks to Bernd Walter <ticso@cicely8.cicely.de> for helping debug my alpha assembly. Approved by: -arch
* Use 'mov' instead of 'lea' for setting the syscall number in %eax as thatjhb2001-11-277-12/+12
| | | | | | 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-134-104/+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-2433-73/+29
| | | | | | with <machine/asm.h>. Reviewed by: bde
* Just use RSYSCALL.ru2001-10-191-2/+1
|
* mdoc(7) police: Use the new .In macro for #include statements.ru2001-10-014-9/+9
|
* Use ``.Rv -std'' wherever possible.ru2001-08-311-9/+1
| | | | Submitted by: yar
* Removed duplicate VCS ID tags, as per style(9).ru2001-08-1351-110/+16
|
* Cross-reference io(4).iedowse2001-08-121-0/+2
|
* mdoc(7) police: join split punctuation to macro calls.ru2001-08-101-4/+4
|
* Use the ``.Rv -std'' mdoc(7) macro in appropriate cases.yar2001-08-091-7/+1
| | | | Reviewed by: ru
OpenPOWER on IntegriCloud