summaryrefslogtreecommitdiffstats
path: root/lib/libc/arch/sparc64 (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Move __tfork_thread() from rthreads (libpthread) to libc so thatguenther2012-03-221-0/+73
| | | | | | it can be used for not-strictly-threading purposes ok matthew@ kurt@
* arithemtic -> arithmeticmiod2011-09-171-2/+2
|
* Revert (leaving the complex math part alone). Some stuff is dependingmartynas2011-07-083-2/+225
| | | | | on this historical behavior; so we're stuck in this stupid situation. No cookie for me.
* Move fabs(3), frexp(3), and modf(3) to libm--nothing has been usingmartynas2011-07-083-225/+2
| | | | them in libc for a very long time. OK guenther@.
* Move __cerror to ___cerror with a weak alias so that rthreads can override it.guenther2011-04-041-7/+5
| | | | | | On mips64, also correct the name called from plain cerror to __cerror. "looks correct" miod@
* In the original sparc V7 book (and in the v8 book), the divrem leaf code usedderaadt2011-03-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | local registers for a few temporaries. This was changed to use two global registers. Maybe to permit use in-kernel without conflicting with the register V7 register window handlers. (Was this done by Chris Torek? Is this related to Gordon Irlam's work? Or was it in NetBSD? Hard to tell because NetBSD removed their original cvs tree.) In V8 the ABI was tightened; more global registers became offlimits in different ways. We started supporting sun4m, and did not consider this. As a result, the global registers chosen are the wrong choice. In particular, %g7 is a poor choice for upcoming TLS work. It looks like it is safer to use %g5 and %g6 since these functions are "system software". All re-entrant parts of the system save it. On sparc64 these functions are in libc per ABI requirement, but are unused. On sparc, they occur in bootblocks (no reentrancy), kernel (reentrancy saves globals; kernel is not ABI compliant), userland libc (signal handlers save globals), and ld.so (symbol binding is not re-entrant on its own). Discussed rather extensively with guenther, kettenis, miod and drahn.
* more rcsid/sccs cleanupderaadt2009-10-281-8/+1
|
* remove from gen so that lint doesn't check gen if assembly versionsmartynas2009-04-211-2/+2
| | | | are available. spotted by theo
* - ldexp implementation has issues. switch to the one from libmmartynas2009-04-192-147/+2
| | | | | | - remove frexp in hppa64, cloned from hppa - move generic ieee754 implementations of modf and ldexp to gen ok kettenis@, "looks good" millert@
* these were not neededmartynas2008-12-091-2/+1
|
* ditto frexpl and ldexplmartynas2008-12-091-1/+2
|
* - add long double signbitmartynas2008-12-096-6/+38
| | | | | | | | | | | | | - make long double versions weak aliases to double versions, on archs where long doubles are 64 bits - no need to have two finites. finite() and finitef() are non-standard 3BSD obsolete versions of isfinite. remove from libm. make them weak_alias in libc to __isfinite and __isfinitef instead. similarly make 3BSD obsolete versions of isinf, isinff, isnan, isnanf weak_aliases to C99's __isinf, __isinff, __isnan, __isnanf - bump major ok millert@
* Use large pic asm for access to errno (needed for pie). Originally fromkurt2008-09-291-2/+4
| | | | | drahn@ but tweaked to use same scratch reg as PIC_PROLOGUE. okay miod@ drahn@
* - replace dtoa w/ David's gdtoa, version 2008-03-15martynas2008-09-0710-1/+224
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - provide proper dtoa locks - use the real strtof implementation - add strtold, __hdtoa, __hldtoa - add %a/%A support - don't lose precision in printf, don't round to double anymore - implement extended-precision versions of libc functions: fpclassify, isnan, isinf, signbit, isnormal, isfinite, now that the ieee.h is fixed - separate vax versions of strtof, and __hdtoa - add complex math support. added functions: cacos, casin, catan, ccos, csin, ctan, cacosh, casinh, catanh, ccosh, csinh, ctanh, cexp, clog, cabs, cpow, csqrt, carg, cimag, conj, cproj, creal, cacosf, casinf, catanf, ccosf, csinf, ctanf, cacoshf, casinhf, catanhf, ccoshf, csinhf, ctanhf, cexpf, clogf, cabsf, cpowf, csqrtf, cargf, cimagf, conjf, cprojf, crealf - add fdim, fmax, fmin - add log2. (adapted implementation e_log.c. could be more acruate & faster, but it's good enough for now) - remove wrappers & cruft in libm, supposed to work-around mistakes in SVID, etc.; use ieee versions. fixes issues in python 2.6 for djm@ - make _digittoint static - proper definitions for i386, and amd64 in ieee.h - sh, powerpc don't really have extended-precision - add missing definitions for mips64 (quad), m{6,8}k (96-bit) float.h for LDBL_* - merge lead to frac for m{6,8}k, for gdtoa to work properly - add FRAC*BITS & EXT_TO_ARRAY32 definitions in ieee.h, for hdtoa&ldtoa to use - add EXT_IMPLICIT_NBIT definition, which indicates implicit normalization bit - add regression tests for libc: fpclassify and printf - arith.h & gd_qnan.h definitions - update ieee.h: hppa doesn't have quad-precision, hppa64 does - add missing prototypes to gdtoaimp - on 64-bit platforms make sure gdtoa doesn't use a long when it really wants an int - etc., what i may have forgotten... - bump libm major, due to removed&changed symbols - no libc bump, since this is riding on djm's libc major crank from a day ago discussed with / requested by / testing theo, sthen@, djm@, jsg@, merdely@, jsing@, tedu@, brad@, jakemsr@, and others. looks good to millert@ parts of the diff ok kettenis@ this commit does not include: - man page changes
* - move isinf, isnan dups to gen, since most is ieee 754martynas2008-07-244-96/+11
| | | | | | | | | | | | | | | | - is{inf,nan} should be macros for real-floating, so rename to __is{inf,nan}, per C99 - implement C99 __fpclassify(), __fpclassifyf(), __isfinite(), __isfinitef(), __isnormal(), __isnormalf(), __signbit(), __signbitf() - long functions added, but not yet enabled, till ieee.h is fixed - implement vax equivalents of the functions - reimplement isinff, isnanf in a better way, and move to libc - add qnan bytes for all archs - bump major man pages will follow ok millert@. arm bits looked over by drahn@ discussed w/ theo, who showed the right direction, to put these functions in libc
* First pass at removing clauses 3 and 4 from NetBSD licenses.ray2008-06-262-16/+2
| | | | | | | | | Not sure what's more surprising: how long it took for NetBSD to catch up to the rest of the BSDs (including UCB), or the amount of code that NetBSD has claimed for itself without attributing to the actual authors. OK deraadt@
* Repair FLT_ROUNDS operation. ok kettenis@miod2007-10-271-3/+3
|
* fix some lint 'xxx used, but not defined' warnings by properly addingotto2007-05-151-1/+3
| | | | stuff to LSRCS
* from FreeBSD via Jung (moorang at gmail), fix obvious typo in __fpu_ftox()jason2007-02-121-9/+9
| | | | which caused all negative numbers returned to be == -1.
* please gccderaadt2006-12-231-1/+2
|
* if we pull in a .S file, we must fake out the lint with a .c filederaadt2005-11-291-1/+2
| | | | | for this first cut, we will do this for alloca() using alloca.c by adding it to LSRCS
* zap rcsid.espie2005-08-072-10/+2
| | | | okay deraadt@ (tested them all)
* Replace broken frexp() with a working one from FreeBSD. There'smillert2005-02-012-76/+2
| | | | | | no need to have a copy for each platform with ieee floating point, only vax needs a special version (which probably has similar bugs). OK and with help from otto@
* add some missing $, ok djm@ 'That looks fine to me' millert@jsg2004-10-011-0/+2
|
* Fix unsigned {int, long, long long} to long double conversions forotto2004-09-283-11/+65
| | | | values with the high bit set. ok kettenis@ jason@
* In _longjmp(), flush windows rather than attempting to backtrack manually,miod2004-05-041-31/+16
| | | | | | | | | since the latter is not reliable in all cases. This allows ruby to work on sparc64. Problem spotted by claudio@; fix adapted from NetBSD for sparc, FreeBSD for sparc64; ok deraadt@
* From the how many ways can you screw up replacing one line of codejason2004-03-241-2/+2
| | | | | department: cast 'i' to u_int64_t so the sign comparison actually makes sense. Any other bugs in here just ship in the release, I'm done.
* use absolute value like rev 1.1 did; pointed out by tom and ok deraadt.jason2004-03-231-1/+2
|
* gcc3 doesn't align things the same as gcc2. Casting upwards is dangerousjason2004-03-231-2/+3
| | | | to a program's health, avoid it. ok deraadt
* correct psABI functions _Q_feq and friends (they return 'int' not long double);jason2004-02-032-14/+14
| | | | pointed out by Mark Kettenis, kettenis,chello,nl
* fix to use sigaltstack again. help miod ok miod deraadttedu2004-01-291-5/+5
|
* ABI breakage happened with the sigaltstack replacement. It is too late,deraadt2004-01-151-4/+4
| | | | | | | now we just have to cope. Since setjmp uses it, the alpha and sparc64 are unhappy with the structure change. In a few days, we will make the second hop here, for now, use the old system call until all binaries have the new struct in them.
* Use an unsigned comparison against minbrk.miod2003-12-251-3/+3
| | | | ok deraadt@
* enable the libc portions of the quad float stuff (nothing will call thisjason2003-07-211-1/+3
| | | | until a forthcoming gcc patch is in place).
* implementation of __ftoul (float -> unsigned long) (based on __dtoul above it)jason2003-07-211-6/+53
|
* quad float emulation stuff. Mostly based on freebsd (which is based onjason2003-07-2117-0/+3898
| | | | NetBSD's kernel emulation stuff). Not enabled yet.
* Remove the advertising clause in the UCB license which Berkeleymillert2003-06-0232-193/+65
| | | | rescinded 22 July 1999. Proofed by myself and Theo.
* Add Doug Gwyn's portable alloca() for platforms w/o an assemblermillert2003-05-021-1/+2
| | | | | | | version. Normally, gcc provides its own alloca() (unless -fno-builtin is specified). The C version is decidedly suboptimal--we really need proper assembler versions but this will work as a stop-gap measure.
* indent delay slotjason2003-02-181-2/+2
|
* Obey calling convention and use the right opcode (fabss -> fabsd); Fabulous...jason2003-02-081-4/+2
| | | | (based on netbsd pr 20140)
* We need to keep K&R compat macros for some ports where the assemnbler ismillert2002-02-191-1/+5
| | | | still using -traditional-cpp.
* We live in an ANSI C world. Remove lots of gratuitous #ifdef __STDC__ cruft.millert2002-02-191-5/+1
|
* rfork() needs a fork.S-like stub as well; ok artderaadt2002-02-171-0/+47
|
* Always have the real entry point to the syscall called _thread_sys_art2002-01-031-20/+3
| | | | | and provide the real name as a weak alias. This is the last piece needed for libc_r on sparc64 (plus debugging).
* Correct length of jmpbuf, it is sizeof(long) * _JBLEN == 8*14millert2001-10-111-5/+5
| | | | This fixes sigsetjmp()/siglongjmp() on sparc64
* Changes to SYS.h for sparc64 to make it work with libc_rdrahn2001-09-261-16/+41
| | | | bulk of work done by miod.
* Revert last. The ERROR() macro is called from leaf functionsart2001-09-261-2/+6
| | | | and is _not_ supposed to do "call"s.
* Add an ASPICFLAG variable to bsd.own.mk which a platform use to pass flagsdrahn2001-09-251-6/+2
| | | | | | | to 'as' to make it compile pic. add defaults for sparc64 which needs picflags set to -fPIC and ASPICFLAGS to -KPIC. Also simplifies the systemcall generation for sparc64 PIC mode. ok epsie@.
* Rename __minbrk to minbrk to allow gmon.c to link correctly.art2001-09-241-6/+6
| | | | | XXX - The fix should be the other way around - make all other archs match sparc64.
* Use the LBL isnan() and isinf() on all platforms with ieee floating point.millert2001-09-102-4/+14
|