History log of /openbsd-current/lib/libc/arch/m88k/gen/Makefile.inc
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.17 06-Jul-2020 pirofti

Add support for timeconting in userland.

This diff exposes parts of clock_gettime(2) and gettimeofday(2) to
userland via libc eliberating processes from the need for a context
switch everytime they want to count the passage of time.

If a timecounter clock can be exposed to userland than it needs to set
its tc_user member to a non-zero value. Tested with one or multiple
counters per architecture.

The timing data is shared through a pointer found in the new ELF
auxiliary vector AUX_openbsd_timekeep containing timehands information
that is frequently updated by the kernel.

Timing differences between the last kernel update and the current time
are adjusted in userland by the tc_get_timecount() function inside the
MD usertc.c file.

This permits a much more responsive environment, quite visible in
browsers, office programs and gaming (apparently one is are able to fly
in Minecraft now).

Tested by robert@, sthen@, naddy@, kmos@, phessler@, and many others!

OK from at least kettenis@, cheloha@, naddy@, sthen@


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE
# 1.16 05-Jun-2013 miod

...also add __modsi3 and __umodsi3, and make these symbols weak by default.


# 1.15 05-Jun-2013 miod

Add __divsi3 and __udivsi3 gcc-compatible routines. Not used by anything yet
(as gcc does not emit code calling them), but will be shortly; belatedly
riding the libc minor bump.


Revision tags: OPENBSD_5_3_BASE
# 1.14 15-Sep-2012 martynas

Adapt ieee.h, gdtoa and libc to the fact that we don't have 80-bit
floats on m88k. Agreed by miod@.


Revision tags: OPENBSD_5_2_BASE
# 1.13 12-Apr-2012 deraadt

alloca.c cannot be used


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE
# 1.12 08-Jul-2011 martynas

Revert (leaving the complex math part alone). Some stuff is depending
on this historical behavior; so we're stuck in this stupid situation.
No cookie for me.


# 1.11 08-Jul-2011 martynas

Move fabs(3), frexp(3), and modf(3) to libm--nothing has been using
them in libc for a very long time. OK guenther@.


Revision tags: OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE
# 1.10 21-Apr-2009 martynas

remove from gen so that lint doesn't check gen if assembly versions
are available. spotted by theo


# 1.9 19-Apr-2009 martynas

- ldexp implementation has issues. switch to the one from libm
- remove frexp in hppa64, cloned from hppa
- move generic ieee754 implementations of modf and ldexp to gen
ok kettenis@, "looks good" millert@


Revision tags: OPENBSD_4_5_BASE
# 1.8 09-Dec-2008 martynas

- add long double signbit
- 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@


# 1.7 07-Sep-2008 martynas

- replace dtoa w/ David's gdtoa, version 2008-03-15
- 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


Revision tags: OPENBSD_4_4_BASE
# 1.6 24-Jul-2008 martynas

- move isinf, isnan dups to gen, since most is ieee 754
- 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


Revision tags: OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE
# 1.5 29-Nov-2005 deraadt

if we pull in a .S file, we must fake out the lint with a .c file
for this first cut, we will do this for alloca() using alloca.c by
adding it to LSRCS


Revision tags: OPENBSD_3_7_BASE OPENBSD_3_8_BASE
# 1.4 01-Feb-2005 millert

Replace broken frexp() with a working one from FreeBSD. There's
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@


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE
# 1.3 02-May-2003 millert

Add Doug Gwyn's portable alloca() for platforms w/o an assembler
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.


Revision tags: OPENBSD_3_0_BASE OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE
# 1.2 21-Sep-2001 miod

add isnan.c


Revision tags: OPENBSD_2_5_BASE OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE OPENBSD_2_9_BASE
# 1.1 15-Dec-1998 smurph

correted sigsetjmp, setjump. Fixed MACHINE_ARCH vs. MACHINE stuff.


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.16 05-Jun-2013 miod

...also add __modsi3 and __umodsi3, and make these symbols weak by default.


# 1.15 05-Jun-2013 miod

Add __divsi3 and __udivsi3 gcc-compatible routines. Not used by anything yet
(as gcc does not emit code calling them), but will be shortly; belatedly
riding the libc minor bump.


Revision tags: OPENBSD_5_3_BASE
# 1.14 15-Sep-2012 martynas

Adapt ieee.h, gdtoa and libc to the fact that we don't have 80-bit
floats on m88k. Agreed by miod@.


Revision tags: OPENBSD_5_2_BASE
# 1.13 12-Apr-2012 deraadt

alloca.c cannot be used


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE
# 1.12 08-Jul-2011 martynas

Revert (leaving the complex math part alone). Some stuff is depending
on this historical behavior; so we're stuck in this stupid situation.
No cookie for me.


# 1.11 08-Jul-2011 martynas

Move fabs(3), frexp(3), and modf(3) to libm--nothing has been using
them in libc for a very long time. OK guenther@.


Revision tags: OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE
# 1.10 21-Apr-2009 martynas

remove from gen so that lint doesn't check gen if assembly versions
are available. spotted by theo


# 1.9 19-Apr-2009 martynas

- ldexp implementation has issues. switch to the one from libm
- remove frexp in hppa64, cloned from hppa
- move generic ieee754 implementations of modf and ldexp to gen
ok kettenis@, "looks good" millert@


Revision tags: OPENBSD_4_5_BASE
# 1.8 09-Dec-2008 martynas

- add long double signbit
- 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@


# 1.7 07-Sep-2008 martynas

- replace dtoa w/ David's gdtoa, version 2008-03-15
- 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


Revision tags: OPENBSD_4_4_BASE
# 1.6 24-Jul-2008 martynas

- move isinf, isnan dups to gen, since most is ieee 754
- 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


Revision tags: OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE
# 1.5 29-Nov-2005 deraadt

if we pull in a .S file, we must fake out the lint with a .c file
for this first cut, we will do this for alloca() using alloca.c by
adding it to LSRCS


Revision tags: OPENBSD_3_7_BASE OPENBSD_3_8_BASE
# 1.4 01-Feb-2005 millert

Replace broken frexp() with a working one from FreeBSD. There's
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@


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE
# 1.3 02-May-2003 millert

Add Doug Gwyn's portable alloca() for platforms w/o an assembler
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.


Revision tags: OPENBSD_3_0_BASE OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE
# 1.2 21-Sep-2001 miod

add isnan.c


Revision tags: OPENBSD_2_5_BASE OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE OPENBSD_2_9_BASE
# 1.1 15-Dec-1998 smurph

correted sigsetjmp, setjump. Fixed MACHINE_ARCH vs. MACHINE stuff.