summaryrefslogtreecommitdiffstats
path: root/lib/libc/ia64
Commit message (Collapse)AuthorAgeFilesLines
* 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)
* Implement missing fpgetround() and fpsetround().marcel2003-01-113-2/+84
|
* Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup,schweikh2003-01-012-2/+2
| | | | especially in troff files.
* Sort SRCS.marcel2002-11-161-5/+4
|
* o Fix _longjmp() to return 1 when the return value is given as 0.marcel2002-11-141-52/+25
| | | | | | | | | | | | | o Remove the unwanted smartness in _longjmp() where it compares the current ar.bspstore with the saved ar.bspstore and restores ar.rnat based on it. This either avoids saving ar.rnat in the jmp_buf or is the consequence of not saving ar.rnat. All this complexity breaks libc_r where we use longjmp() to switch to different threads and the current ar.bspstore has no relation to the saved ar.bspstore. Thus: we save ar.rnat in setjmp() and simply restore ar.bspstore and ar.rnat in longjmp(). This code needs a cleanup.
* ia64 ABI breaker:marcel2002-11-113-38/+6
| | | | | | | | | | | | | Don't force 16-byte alignment at run-time. Do it at compile-time. This saves us the pointer fiddling by the setjmp functions and reduces complexity. While here, increase the jmp_buf by 16 bytes to an even 512 bytes. Coincidentally, due to the way alignment was handled prior to this change, the jmp_buf has not changed in size, but only in how the space is used. Prior to this change the 16 bytes were reserved for enforcing alignment; now they are reserved by us for future extensions. Therefore, this ABI breaker is relatively save: the failure is always an alignment trap.
* 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
* 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
* We cannot use an alloc with only inputs and/or locals. The kernelmarcel2002-08-231-11/+16
| | | | | | assumes that the parameters are passed in output registers. Remove the alloc entirely, but don't depend on the kernel not trashing our registers.
* 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
* Our default syscall.S is identical to what was explicitly being done forobrien2002-05-152-34/+1
| | | | Alpha and IA-64. So there is no need for special handling.
* Implement _Unwind_FindTableEntry(). This function is part of GCCmarcel2002-04-132-0/+130
| | | | | for some configurations, but not for FreeBSD (yet?). Have one in libc in the mean time.
* Fix the style of the SCM ID's.obrien2002-03-221-2/+3
| | | | I believe have made all of libc .h's as consistent as possible.
* Fix the style of the SCM ID's.obrien2002-03-227-9/+21
| | | | I believe have made all of libc .c's as consistent as possible.
* Remove 'register' keyword.obrien2002-03-212-3/+3
|
* o Move NTOHL() and associated macros into <sys/param.h>. These aremike2002-02-186-8/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Implement fpsetmask() and fpgetmask().dfr2001-11-033-1/+83
|
* Compensate for the way that _setjmp aligns the start of jmp_buf.dfr2001-10-262-5/+23
|
* Fix WAW dependency. p6 is written in the syscall epilogue.peter2001-10-221-0/+1
|
* Fix a few more dependancy violations.dfr2001-10-221-3/+3
|
* Implement setjmp, longjmp, sigsetjmp and siglongjmp.dfr2001-10-203-104/+53
|
* Add __divdf3(), __divsf3() and __infinity[].dfr2001-10-204-1/+296
| | | | Obtained from: Intel (for the divide code)
* Adjust so that we don't use relocations which can't exist in a shareddfr2001-10-104-5/+10
| | | | library.
* Shorter versions of the byte swapping code.dfr2001-10-102-15/+7
|
* Fix a load of dependancy violations.dfr2001-10-052-7/+7
|
* Fix a whole bunch of dependancy bugs and make it actually work when thedfr2001-09-221-7/+10
| | | | size is not a multiple of eight.
* Fix byte swapping - it was totally broken.dfr2001-09-222-5/+6
|
* Implement _setjmp()/_longjmp().dfr2001-09-041-125/+345
| | | | Obtained from: Intel's EFI toolkit
* Removed duplicate VCS ID tags, as per style(9).ru2001-08-133-6/+0
|
* Use relative paths to find byte_swap_*.S to make it easier to use thesedfr2001-03-064-4/+4
| | | | from libstand.
* Make this compile. Still need to write/borrow a working setjmp.dfr2001-03-061-0/+1
|
* Correct a comment.obrien2001-03-051-1/+1
|
* Clean up syscall generation in libc by removing HIDDEN_SYSCALLSdeischen2001-01-296-61/+24
| | | | | | | | | | | | | | 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-245-56/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
|
* Return zero from setjmp() and _setjmp() for now.dfr2000-10-162-0/+5
|
* Fix a couple of dumb mistakes.dfr2000-10-161-7/+9
|
* Fix RAW dependency violation on p6 between cmp and mov.marcel2000-10-152-0/+2
|
* Initial libc port for ia64.dfr2000-10-1445-0/+3022
OpenPOWER on IntegriCloud