#
267654 |
|
19-Jun-2014 |
gjb |
Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
263764 |
|
26-Mar-2014 |
dim |
MFC r262613:
Merge the projects/clang-sparc64 branch back to head. This brings in several updates from the llvm and clang trunks to make the sparc64 backend fully functional.
Apart from one patch to sys/sparc64/include/pcpu.h which is still under discussion, this makes it possible to let clang fully build world and kernel for sparc64.
Any assistance with testing this on actual sparc64 hardware is greatly appreciated, as there will unavoidably be bugs left.
Many thanks go to Roman Divacky for his upstream work on getting the sparc64 backend into shape.
MFC r262985:
Repair a few minor mismerges from r262261 in the clang-sparc64 project branch. This is also to minimize differences with upstream.
|
#
225736 |
|
22-Sep-2011 |
kensmith |
Copy head to stable/9 as part of 9.0-RELEASE release cycle.
Approved by: re (implicit)
|
#
219576 |
|
12-Mar-2011 |
kargl |
Take two. Add the missing file that should have been committed with r219571 and re-enable building of cbrtl.
Implement the long double version for the cube root function, cbrtl. The algorithm uses Newton's iterations with a crude estimate of the cube root to converge to a result.
Reviewed by: bde Approved by: das
|
#
219572 |
|
12-Mar-2011 |
kargl |
Temporary disable the building of cbrtl until I can determine why svn will not allow one to commit a new file.
Approved by: das (implicit)
|
#
219571 |
|
12-Mar-2011 |
kargl |
Implement the long double version for the cube root function, cbrtl. The algorithm uses Newton's iterations with a crude estimate of the cube root to converge to a result.
Reviewed by: bde Approved by: das
|
#
219359 |
|
07-Mar-2011 |
das |
Add cexp() and cexpf().
Reviewed by: bde (earlier version)
|
#
218877 |
|
20-Feb-2011 |
murray |
Add complex(3) manual page documenting our partial support for C99 complex arithmetic in libm.
Reviewed by: David Schultz <das@FreeBSD.org> MFC after: 2 weeks
|
#
216211 |
|
05-Dec-2010 |
das |
Add log2() and log2f().
|
#
216137 |
|
02-Dec-2010 |
das |
Disable gcc's built-in rint() function when compiling s_nearbyint.c. It results in incorrect optimizations that break nearbyint().
PR: 143358 Reviewed by: bde
|
#
212531 |
|
13-Sep-2010 |
imp |
This is exactly the same as the .else, so remove it.
|
#
212518 |
|
12-Sep-2010 |
imp |
MFtbemd: Move to using MACHINE_CPUARCH, now that it is safe.
|
#
211934 |
|
28-Aug-2010 |
nwhitehorn |
Repair some build breakage introduced in r211725 and garbage collect some code made obsolete in the same commit.
|
#
211725 |
|
23-Aug-2010 |
imp |
MFtbemd:
Prefer MACHNE_CPUARCH to MACHINE_ARCH in most contexts where you want to test of all the CPUs of a given family conform.
|
#
209877 |
|
10-Jul-2010 |
nwhitehorn |
powerpc64 floating-point is identical to powerpc, so use the same code on both architectures.
|
#
181377 |
|
07-Aug-2008 |
das |
Implement cproj{,f,l}().
|
#
181074 |
|
31-Jul-2008 |
das |
Add implementations of acosl(), asinl(), atanl(), atan2l(), and cargl().
Reviewed by: bde sparc64 testing resources from: remko
|
#
181064 |
|
31-Jul-2008 |
das |
Set WARNS=1.
I believe I've committed all the bits necessary to make this compile on all supported architectures. :crosses fingers:
|
#
180581 |
|
18-Jul-2008 |
das |
Sort the .PATH entries to give a more reasonable order of precedence: 1. architecture-specific files 2. long double format-specific files 3. bsdsrc 4. src 5. man The original order was virtually the opposite of this.
This should not cause any functional changes at this time. The difference is only significant when one wants to override, say, a generic foo.c with a more specialized foo.c (as opposed to foo.S).
|
#
179882 |
|
19-Jun-2008 |
das |
Implement fmodl. Document fmodl and fix some errors in the fmod manpage.
|
#
177766 |
|
30-Mar-2008 |
das |
Hook remquol() and remainderl() up to the build.
|
#
177761 |
|
30-Mar-2008 |
das |
Implement csqrtl().
|
#
177760 |
|
30-Mar-2008 |
das |
Hook hypotl() and cabsl() up to the build.
|
#
176722 |
|
01-Mar-2008 |
das |
Hook up sqrtl() to the build.
|
#
176388 |
|
18-Feb-2008 |
das |
Add tgammaf() as a simple wrapper around tgamma().
|
#
176361 |
|
17-Feb-2008 |
das |
Hook up sinl(), cosl(), and tanl() to the build.
|
#
176243 |
|
13-Feb-2008 |
bde |
On arches where long double is the same as double, alias ceil(), floor() and trunc() to the corresponding long double functions. This is not just an optimization for these arches. The full long double functions have a wrong value for `huge', and the arches without full long doubles depended on it being wrong.
|
#
175462 |
|
18-Jan-2008 |
das |
Hook up exp2l() and related docs to the build.
|
#
175309 |
|
14-Jan-2008 |
das |
Implement rintl(), nearbyintl(), lrintl(), and llrintl(). Thanks to bde@ for feedback and testing of rintl().
|
#
174720 |
|
17-Dec-2007 |
bde |
Oops, the previous commit was not needed -- the file was committed but not checked out due to my checkout error.
|
#
174715 |
|
17-Dec-2007 |
bde |
Don't try to build s_nanl.c before it is committed.
|
#
174698 |
|
17-Dec-2007 |
das |
Add logbl(3) to libm.
|
#
174684 |
|
16-Dec-2007 |
das |
Implement and document nan(), nanf(), and nanl(). This commit adds two new directories in msun: ld80 and ld128. These are for long double functions specific to the 80-bit long double format used on x86-derived architectures, and the 128-bit format used on sparc64, respectively.
|
#
174617 |
|
15-Dec-2007 |
das |
Implement and document csqrt(3) and csqrtf(3).
|
#
174561 |
|
12-Dec-2007 |
das |
Implement carg(3) and cargf(3).
Rotting in an old src tree since: March 2005
|
#
169807 |
|
21-May-2007 |
deischen |
Bump library versions in preparation for 7.0.
Ok'd by: kan
|
#
169524 |
|
13-May-2007 |
deischen |
Enable symbol versioning by default. Use WITHOUT_SYMVER to disable it. Warning, after symbol versioning is enabled, going back is not easy (use WITHOUT_SYMVER at your own risk).
Change the default thread library to libthr.
There most likely still needs to be a version bump for at least the thread libraries. If necessary, this will happen later.
|
#
165855 |
|
07-Jan-2007 |
das |
Implement modfl().
|
#
157196 |
|
27-Mar-2006 |
deischen |
Add symbol versioning to libm.
|
#
152133 |
|
06-Nov-2005 |
bde |
Detach k_rem_pio2f.c from the build since it is now unused. It is a libm internal so this shouldn't cause version problems.
|
#
152117 |
|
06-Nov-2005 |
bde |
The logb() functions are not just ieee754 "test" functions, but are standard in C99 and POSIX.1-2001+. They are also not deprecated, since apart from being standard they can handle special args slightly better than the ilogb() functions.
Move their documentation to ilogb.3. Try to use consistent and improved wording for both sets of functions. All of ieee854, C99 and POSIX have better wording and more details for special args.
Add history for the logb() functions and ilogbl(). Fix history for ilogb().
|
#
148297 |
|
22-Jul-2005 |
kensmith |
Bump the shared library version number of all libraries that have not been bumped since RELENG_5.
Reviewed by: ru Approved by: re (not needed for commit check but in principle...)
|
#
145208 |
|
17-Apr-2005 |
ache |
Fix truncl.3 MLINKS
|
#
145170 |
|
16-Apr-2005 |
das |
Implement truncl() based on floorl().
|
#
144772 |
|
07-Apr-2005 |
das |
Add roundl(), lroundl(), and llroundl().
|
#
144650 |
|
05-Apr-2005 |
das |
Build exp2(), exp2f(), and related documentation.
|
#
144091 |
|
25-Mar-2005 |
das |
Implement and document remquo() and remquof().
|
#
143709 |
|
16-Mar-2005 |
das |
Document feenableexcept(), fedisableexcept(), and fegetexcept().
|
#
143222 |
|
07-Mar-2005 |
das |
- Remove s_ldexpf.c (now aliased to scalbn.) - Add nexttoward{,f,l} and nextafterl. On all platforms, nexttowardl is an alias for nextafterl. - Add fmal. - Add man pages for new routines: fmal, nextafterl, nexttoward{,f,l}, scalb{,l}nl.
Note that on platforms where long double is the same as double, we generally just alias the double versions of the routines, since doing so avoids extra work on the source code level and redundant code in the binary. In particular:
ldbl53 ldbl64/113 fmal s_fma.c s_fmal.c ldexpl s_scalbn.c s_scalbnl.c nextafterl s_nextafter.c s_nextafterl.c nexttoward s_nextafter.c s_nexttoward.c nexttowardf s_nexttowardf.c s_nexttowardf.c nexttowardl s_nextafter.c s_nextafterl.c scalbnl s_scalbn.c s_scalbnl.c
|
#
142558 |
|
26-Feb-2005 |
das |
Un-document the non-extant exp10() and exp10f() functions. exp10() was a casualty of the transition away from the VAX.
|
#
141297 |
|
04-Feb-2005 |
das |
Remove another vestige of support for a non-IEEE libm.
|
#
141281 |
|
04-Feb-2005 |
das |
Move machine-dependent crud to its own makefile.
|
#
141280 |
|
04-Feb-2005 |
das |
Remove wrappers and other cruft intended to support SVID, mistakes in C90, and other arcana. Most of these features were never fully supported or enabled by default.
Ok: bde, stefanf
|
#
140890 |
|
27-Jan-2005 |
das |
- Move the functions presently described in in ieee(3) to their own manpages. They are not very related, so separating them makes it easier to add meaningful cross-references and extend some of the descriptions. - Move the part of math(3) that discusses IEEE 754 to the ieee(3) manpage.
|
#
140609 |
|
22-Jan-2005 |
das |
Add fma() and fmaf(), which implement a fused multiply-add operation.
|
#
140275 |
|
15-Jan-2005 |
das |
amd64 assembly versions of sqrt(), lrint(), and llrint() using SSE2.
|
#
140195 |
|
13-Jan-2005 |
das |
Import the subset of J.T. Conklin's single-precision x86-optimized math routines that appear to be (a) correct and (b) faster than their MI counterparts on my Pentium 4.
Obtained from: NetBSD
|
#
140172 |
|
13-Jan-2005 |
stefanf |
Implement and document ceill().
|
#
140143 |
|
12-Jan-2005 |
stefanf |
Hook up and document floorl().
|
#
140088 |
|
11-Jan-2005 |
das |
Add MI implementations of [l]lrint[f]() and [l]lround[f]().
Discussed with: bde
|
#
136385 |
|
11-Oct-2004 |
stefanf |
Add and document ilogbl(), a long double version of ilogb().
|
#
136027 |
|
01-Oct-2004 |
kensmith |
Bump the library version numbers for the following libraries:
/lib/{libm,libreadline} /usr/lib/{libhistory,libopie,libpcap}
in preparation for doing the same thing to RELENG_5. HUGE amounts of help for determining what to bump provided by kris.
Discussed on: freebsd-current Approved by: re (not required for commit but something like this should be)
|
#
133289 |
|
07-Aug-2004 |
stefanf |
Add man pages for the cimag(), conj() and creal() functions.
|
#
133147 |
|
04-Aug-2004 |
das |
Replace s_isnan.c and s_isnanf.c with the more compact s_isnan.c from libc. The externally-visible effect of this is to add __isnanl() to libm, which means that libm.so.2 can once again link against libc.so.4 when LD_BIND_NOW is set. This was broken by the addition of fdiml(), which calls __isnanl().
|
#
132382 |
|
19-Jul-2004 |
das |
Fix two bugs in the signbit() macro, which was implemented last year:
- It was added to libc instead of libm. Hopefully no programs rely on this mistake.
- It didn't work properly on large long doubles because its argument was converted to type double, resulting in undefined behavior.
|
#
131852 |
|
09-Jul-2004 |
das |
Implement the classification macros isfinite(), isinf(), isnan(), and isnormal() the hard way, rather than relying on fpclassify(). This is a lose in the sense that we need a total of 12 functions, but it is necessary for binary compatibility because we have never bumped libm's major version number. In particular, isinf(), isnan(), and isnanf() were BSD libc functions before they were C99 macros, so we can't reimplement them in terms of fpclassify() without adding a dependency on libc.so.5. I have tried to arrange things so that programs that could be compiled in FreeBSD 4.X will generate the same external references when compiled in 5.X. At the same time, the new macros should remain C99-compliant.
The isinf() and isnan() functions remain in libc for historical reasons; however, I have moved the functions that implement the macros isfinite() and isnormal() to libm where they belong. Moreover, half a dozen MD versions of isinf() and isnan() have been replaced with MI versions that work equally well.
Prodded by: kris
|
#
131676 |
|
06-Jul-2004 |
das |
Add C99's nearbyint{,f}() functions as wrappers around rint(). These trivial implementations are about 25 times slower than rint{,f}() on x86 due to the FP environment save/restore. They should eventually be redone in terms of fegetround() and bit fiddling.
|
#
131320 |
|
30-Jun-2004 |
das |
Implement and document fdim{,f,l}, fmax{,f,l}, and fmin{,f,l}.
|
#
131001 |
|
23-Jun-2004 |
marcel |
s/ARCH/ARCH_SUBDIR/g -- This reduces the chance of possible conflicts with the user's environment.
Wondered why his cross-builds kept failing: marcel
|
#
130775 |
|
20-Jun-2004 |
stefanf |
Completely remove s_ilogb.S as the assembler implementation gives very little speed improvement to none at all over the MI version.
Submitted by: bde
|
#
130769 |
|
20-Jun-2004 |
das |
Connect scalbln(), trunc(), and the associated documentation to the build.
|
#
130179 |
|
07-Jun-2004 |
das |
Add round(3) and roundf(3) and the associated documentation.
PR: 59797 Submitted by: "Steven G. Kargl" <kargl@troutmask.apl.washington.edu> Reviewed by: bde (earlier version, last year)
|
#
130149 |
|
06-Jun-2004 |
das |
Add fenv.h, fenv.c, and the associated documentation to the libm build. To facilitate this, add ${.CURDIR}/${ARCH} to make's search path unconditionally.
Reviewed by: standards@
|
#
129864 |
|
30-May-2004 |
stefanf |
Add implementations for cimag{,f,l}, creal{,f,l} and conj{,f,l}. They are needed for cases where GCC's builtin functions cannot be used and for compilers that don't know about them.
Approved by: das (mentor)
|
#
129040 |
|
07-May-2004 |
stefanf |
Add an implementation of copysignl(), a long double version of copysign().
Approved by: das (mentor)
|
#
129038 |
|
07-May-2004 |
stefanf |
Add an MLINK for fabsl().
Approved by: das (mentor)
|
#
121497 |
|
25-Oct-2003 |
des |
- fabsl.c should be named s_fabsl.c for consistency with libmsun's documented naming scheme (unfortunately the documentation isn't in the tree as far as I can tell); no repocopy is required as there is no history to preserve.
- replace simple and almost-correct implementation with slightly hackish but definitely correct implementation (tested on i386, alpha, sparc64) which requires pulling in fpmath.h and the MD _fpmath.h from libc.
- try not to make a mess of the Makefile in the process.
- enterprising minds are encouraged to implement more C99 long double functions.
|
#
121419 |
|
23-Oct-2003 |
des |
Connect fabsl.c to the build.
|
#
119017 |
|
17-Aug-2003 |
gordon |
Stage 3 of dynamic root support. Make all the libraries needed to run binaries in /bin and /sbin installed in /lib. Only the versioned files reside in /lib, the .so symlink continues to live /usr/lib so the toolchain doesn't need to be modified.
|
#
117917 |
|
23-Jul-2003 |
bde |
Fixed some style bugs (misplacement and misformatting of some commented-out code).
|
#
117912 |
|
23-Jul-2003 |
peter |
Only provide one copy of the math functions. If we provide a MD function, do not also provide a __generic_XXX version as well. This is how we used to runtime select the generic vs i387 versions on the i386 platform.
This saves a pile of #defines in the src/math_private.h file to undo the __generic_XXX renames in some of the *.c files.
|
#
117910 |
|
23-Jul-2003 |
peter |
No longer need the internal __get_hw_float() function.
|
#
117909 |
|
23-Jul-2003 |
peter |
Now that we do not need to do runtime detection for the broken default fp emulator, stop doing the runtime selection of hardware or emulated floating point operations on i386. Note that I have not suppressed the duplicate compiles yet.
While here, fix the alpha. It has provided specific copysign/copysignf functions since the beginning of time, but they have never been used.
|
#
96462 |
|
12-May-2002 |
ru |
Added new bsd.incs.mk which handles installing of header files via INCS. Implemented INCSLINKS (equivalent to SYMLINKS) to handle symlinking include files. Allow for multiple groups of include files to be installed, with the powerful INCSGROUPS knob. Documentation to follow.
Added standard `includes' and `incsinstall' targets, use them in Makefile.inc1. Headers from the following makefiles were not installed before (during `includes' in Makefile.inc1):
kerberos5/lib/libtelnet/Makefile lib/libbz2/Makefile lib/libdevinfo/Makefile lib/libform/Makefile lib/libisc/Makefile lib/libmenu/Makefile lib/libmilter/Makefile lib/libpanel/Makefile
Replaced all `beforeinstall' targets for installing includes with the INCS stuff.
Renamed INCDIR to INCSDIR, for consistency with FILES and SCRIPTS, and for compatibility with NetBSD. Similarly for INCOWN, INCGRP, and INCMODE.
Consistently use INCLUDEDIR instead of /usr/include.
gnu/lib/libstdc++/Makefile and gnu/lib/libsupc++/Makefile changes were only lightly tested due to the missing contrib/libstdc++-v3. I fully tested the pre-WIP_GCC31 version of this patch with the contrib/libstdc++.295 stuff.
These changes have been tested on i386 with the -DNO_WERROR "make world" and "make release".
|
#
93211 |
|
26-Mar-2002 |
bde |
Resurrect Lite1's gamma() as C99's tgamma(). Minimal changes.
|
#
91514 |
|
28-Feb-2002 |
obrien |
We need an frexp() function.
|
#
87804 |
|
13-Dec-2001 |
phantom |
* remove reference to m68k-dependent sources * fix comment
|
#
84403 |
|
03-Oct-2001 |
bde |
Don't install manpage links for the nonexistent functions exp2(), exp2f(), log2() and log2f().
|
#
74870 |
|
27-Mar-2001 |
ru |
MAN[1-9] -> MAN.
|
#
74804 |
|
26-Mar-2001 |
ru |
Don't use MANDEPEND and MANSRC.
|
#
50476 |
|
27-Aug-1999 |
peter |
$Id$ -> $FreeBSD$
|
#
42044 |
|
24-Dec-1998 |
dfr |
Disable building with alpha software completion options until we upgrade compilers.
|
#
42029 |
|
23-Dec-1998 |
dfr |
Implement fpsetmask() and other fp*() functions. Programs should use
#include <ieeefp.h>
to access these functions instead of the i386 specific
#include <machine/floatingpoint.h>
Submitted by: Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
|
#
33662 |
|
20-Feb-1998 |
jb |
Add alpha support. m68k crept in too. Oops. 8-)
|
#
24964 |
|
15-Apr-1997 |
bde |
Added -D_ARCH_INDIRECT=i387_ to CFLAGS. _ARCH_INDIRECT will soon be used to control generation of indirections in ENTRY(). Only msun needs it.
Use ${ARCH} consistently.
|
#
22993 |
|
22-Feb-1997 |
peter |
Revert $FreeBSD$ to $Id$
|
#
22948 |
|
20-Feb-1997 |
bde |
Split up the Bessel function wrapper files so that most wrapper functions are in their own file.
|
#
22808 |
|
16-Feb-1997 |
bde |
Select between the generic math functions and the i387-specific ones at runtime.
etc/make.conf: Nuked HAVE_FPU option.
lib/msun/Makefile: Always build the i387 objects. Copy the i387 source files at build time so that the i387 objects have different names. This is simpler than renaming the files in the cvs repository or repeating half of bsd.lib.mk to add explicit rules.
lib/msun/src/*.c: Renamed all functions that have an i387-specific version by adding `__generic_' to their names.
lib/msun/src/get_hw_float.c: New file for getting machdep.hw_float from the kernel.
sys/i386/include/asmacros.h: Abuse the ENTRY() macro to generate jump vectors and associated code. This works much like PIC PLT dynamic initialization. The PIC case is messy. The old i387 entry points are renamed. Renaming is easier here because the names are given by macro expansions.
|
#
22748 |
|
15-Feb-1997 |
jkh |
Put back .endif clobbered by the previous commit, breaking the build.
|
#
22731 |
|
15-Feb-1997 |
bde |
Disabled the i387 version if log1p(). It just evaluates log(1 + x). This defeats the point of log1p(). ucbtest reports errors of +-5e+15 ULPs. A correct version would use the i387 fyl2xp1 instruction for small x and maybe scale to small x. The C version does the scaling reasonably efficiently, and fyl2px1 is slow (at least on P5s), so not much is lost by always using the C version (only 25% for small x even with the broken i387 version; 50% for large x).
|
#
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.
|
#
21435 |
|
08-Jan-1997 |
wollman |
Delete -D_POSIX_MODE and -D_MULTI_LIBM from CFLAGS. They never had any effect because _IEEE_LIBM always takes priority, so the definition just served to confuse.
Reviewed by: bde
|
#
17958 |
|
30-Aug-1996 |
peter |
consistancy fixup
Submitted by: "Philippe Charnier" <charnier@xp11.frmug.org>
|
#
17935 |
|
30-Aug-1996 |
peter |
cmp -s || install -c ==> install -C
|
#
13988 |
|
08-Feb-1996 |
mpp |
Correct one small typo in previous commit.
|
#
13987 |
|
08-Feb-1996 |
mpp |
Added some missing MLINKS for section 3 man pages. Also corrected a few minor formatting errors, file location and cross references in some of the section 3 man pages.
This shuts up a lot of the output from "manck" for section 3.
|
#
11682 |
|
22-Oct-1995 |
bde |
Undo the the changes in the previous revision (MANSRC now works right again). Use ${INSTALL} instead of install.
|
#
11136 |
|
02-Oct-1995 |
wollman |
Compress manual pages (if desired) in the obj directory rather than in the installation destination. Should make release-building substantially faster. The msun Makefile changes simple adapt to the new scheme.
|
#
8870 |
|
30-May-1995 |
rgrimes |
Remove trailing whitespace.
|
#
6953 |
|
07-Mar-1995 |
bde |
Obtained from: NetBSD
Remove common sources from ${SRCS} when they are replaced by arch-specific sources.
|
#
2574 |
|
08-Sep-1994 |
bde |
Install math.h.
|
#
2122 |
|
19-Aug-1994 |
jkh |
Make this puppy actually compile now. Submitted by: jkh
|
#
2117 |
|
19-Aug-1994 |
jkh |
This commit was generated by cvs2svn to compensate for changes in r2116, which included commits to RCS files with non-trunk default branches.
|
#
2116 |
|
19-Aug-1994 |
jkh |
J.T. Conklin's latest version of the Sun math library.
-- Begin comments from J.T. Conklin: The most significant improvement is the addition of "float" versions of the math functions that take float arguments, return floats, and do all operations in floating point. This doesn't help (performance) much on the i386, but they are still nice to have.
The float versions were orginally done by Cygnus' Ian Taylor when fdlibm was integrated into the libm we support for embedded systems. I gave Ian a copy of my libm as a starting point since I had already fixed a lot of bugs & problems in Sun's original code. After he was done, I cleaned it up a bit and integrated the changes back into my libm. -- End comments
Reviewed by: jkh Submitted by: jtc
|