Commit Graph

213 Commits

Author SHA1 Message Date
kleink
d82e732345 Add C99 fpclassify(), isfinite(), isnormal(), and signbit() macros. 2004-01-15 19:43:44 +00:00
martin
269c3e3d2b Use an unsigned comparison against minbrk.
From OpenBSD, changed by Miod Vallat.
2003-12-26 11:21:48 +00:00
kleink
0a97d0875b C99 7.12.3.2: add library portions of isfinite, but don't build these just
yet.
2003-10-29 20:03:51 +00:00
kleink
75327729a2 C99 7.12.3.1: add IEEE library portions of fpclassify. Don't build these
yet as the VAX implementation is still subject to discussion.
2003-10-28 22:05:37 +00:00
kleink
fdb80dd054 Ignore the explicit integer bit here, too; otherwise an infinity with the
explicit integer bit set could be classified as NaN.
2003-10-28 00:13:22 +00:00
kleink
964d6747b5 Err, rename some members added in previous to make them reflect their
semantics better.
2003-10-27 01:11:46 +00:00
kleink
5976f8aa56 Retire local union { floating-type; struct ieee_prec; } in favor of those
available from <machine/ieee.h>
2003-10-27 00:05:46 +00:00
kleink
be5cd162d0 Use the generic long double' == double' versions on m68000. 2003-10-26 10:03:11 +00:00
kleink
9f3dbee22c Add __infinityf and __infinityl, float respectively long double analogs
of __infinity.
2003-10-25 22:31:20 +00:00
cl
342cbd284f replace __longjmp14 asm-implementation with __longjmp14 C-implementation
uses setcontext instead of __sigreturn14
fixes longjmp/siglongjmp when !COMPAT_16
2003-10-25 17:13:57 +00:00
kleink
712c8de209 * Since there is no single portable IEEE 754 format for a long double,
keep a common implementation of isinfl() and isnanl() to be used by
  platforms where `long double' == `double'; move others into
  machine-dependent code.
* In due course, consider __VFP_FP__ on arm.
2003-10-24 00:58:01 +00:00
christos
c4990e5532 Userland portion of SIGTRAMP_VALID() commit. 2003-10-18 18:16:23 +00:00
cl
ae9566397a SA_SIGINFO support for m68k (libc) 2003-09-22 14:42:02 +00:00
agc
eb7c1594f1 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22280, verified by myself.
2003-08-07 16:42:00 +00:00
lukem
a93ea220fc Rework how dependency generation is performed:
* DPSRCS contains extra dependencies, but is _NOT_ added to CLEANFILES.
  This is a change of behaviour.  If a Makefile wants the clean semantics
  it must specifically append to CLEANFILES.
  Resolves PR toolchain/5204.

* To recap: .d (depend) files are generated for all files in SRCS and DPSRCS
  that have a suffix of: .c .m .s .S .C .cc .cpp .cxx

* If YHEADER is set, automatically add the .y->.h to DPSRCS & CLEANFILES

* Ensure that ${OBJS} ${POBJS} ${LOBJS} ${SOBJS} *.d  depend upon ${DPSRCS}

* Deprecate the (short lived) DEPENDSRCS


Update the various Makefiles to these new semantics; generally either
adding to CLEANFILES (because DPSRCS doesn't do that anymore), or replacing
specific .o dependencies with DPSRCS entries.

Tested with "make -j 8 distribution" and "make distribution".
2003-08-01 17:03:41 +00:00
salo
99410184e7 netbsd.org->NetBSD.org 2003-07-26 19:24:24 +00:00
thorpej
8969ba6ff5 Build _isinfl() and _isnanl(). 2003-05-17 15:05:52 +00:00
kleink
db907cb577 Rename ieee754_function.c to function_ieee754.c, following the convention
used in exec_format.c, loadfile_format.c, subsys_machdep.c etc.
Per discussion with Christos.
2003-05-12 15:15:11 +00:00
kleink
3b364b9b85 Make sure we reference getcontext() by its internal name. 2003-04-07 21:04:20 +00:00
nathanw
4fb740b8de Implement pthread_atfork() (in libc, because the required threadlib
stub behavior is exactly the same as the usual behavior).
2003-02-13 02:50:48 +00:00
kleink
9b24979426 Fix comment typo, and convert to C-style comments. 2003-01-26 17:58:55 +00:00
thorpej
3fdac2b8c5 Merge the nathanw_sa branch. 2003-01-18 10:52:16 +00:00
thorpej
c061e6bf8b Enable the libc-provided signal trampoline. The old __sigaction14
entry point has been replaced by the new __sigaction14() which is a
wrapper around the __sigaction_sigtramp system call (which is itself
not directly exposed outside of libc).

No shared library version change is necessary; no new symbols
are exposed outside of libc.
2002-07-10 04:29:05 +00:00
thorpej
8aa4d3caec New __sigaction14() system call stub which registers the signal
trampoline, and the signal trampolines themselves.

NOTE: These are not yet enabled; they will be enabled after further
testing on more architectures.
2002-07-09 23:32:35 +00:00
thorpej
d9f211b107 Make this work with an ISO C preprocessor. 2002-05-30 05:08:51 +00:00
wiz
92d8b1e9fa Revert previous: .S files are currently compiled with -traditional-cpp,
so __STDC__ is _not_ always defined.
2002-05-26 12:24:55 +00:00
wiz
d56bb7c2ec __STDC__ is always defined on NetBSD. 2002-05-26 11:48:00 +00:00
simonb
2d8577fb83 Clean up some rampant code duplication wrt ieee number handling:
- Add alignment-safe double and float unions.
 - Use the above for the __infinity and __nan constants on all
   architectures that use the standard ieee754 representation of
   those constants.
 - Add a single copy of various ieee754 math functions (frexp, isinf,
   isnan, ldexp and modf) that had numerous duplicates among the
   arch-specific directories.
 - Use the above functions on all architectures where the generic C
   versions where used.  Architectures that had local assembly
   routines are untouched (for those functions only).
2002-02-19 13:08:12 +00:00
aymeric
5927ef00d8 Redefine ENTRY properly for both ELF and a.out
Now we can compile profiled m68k programs that use libc.
2002-01-22 22:44:43 +00:00
thorpej
ac8c1c29e9 * Add WSYSCALL() to SYS.h, which creates a system call with an
internal name and a weak alias for the name.
* Add a WEAKASM syscall list, and process it.
* Make sysarch() have an internal name (_sysarch()).
2002-01-14 00:55:55 +00:00
thorpej
5d3e829423 Add internal names for fp{get,set}{mask,round,sticky}(), and
externally-visible weak aliases for the internal names.
2002-01-13 21:45:39 +00:00
drochner
f0f40184c9 -Wshadow fix 2001-11-07 17:56:32 +00:00
drochner
dacd4ae4c5 cpoy from the 040 version: -Wshadow warning fix 2001-11-07 17:55:42 +00:00
drochner
f3b5b119ec fix -Wshadow warnings 2001-11-07 13:44:58 +00:00
fredette
129f58b424 On the 68010, don't bother with the by-8-longwords loop, instead
only 16-bit align the region and use loop mode with longwords
to do the bulk of the work.

On the 68020+, fixed an optimization bug where all regions that start
on odd addresses would not be properly longword aligned.
2001-09-07 12:50:01 +00:00
scw
b722bfb186 Compensate for the syscall args stack cleanup in the clone.
(Pointed out by Matthias Pfaller)
2001-07-20 17:08:18 +00:00
scw
c45a0d8765 clone(2) syscall frontend for m68k. 2001-07-19 21:50:46 +00:00
fredette
eba34d8c90 Don't compile softfloat or integer support routines on 68000
machines, they have this support already in libgcc.
2001-06-13 18:05:32 +00:00
kleink
3529d6d10f Add missing internal names and weak aliases to assembly versions. 2001-05-29 13:03:01 +00:00
fredette
d74323a8be On m68000, all code is compiled softfloat, so functions
that return floats must do so in integer registers, as the
pre-SVR4 ABI code did.  So in these functions we ignore
__SVR4_ABI__ if __HAVE_68881__ is not also set.
2001-05-18 15:13:04 +00:00
fredette
ca081b169d Added. These are part of the soft-float support on the 68010. 2001-05-17 21:46:26 +00:00
fredette
9a2dd99d75 Use the EXTBL macro where we want the extbl instruction.
On the 68010 this expands to an extw/extl combination.
2001-05-17 21:28:00 +00:00
fredette
77f5240b49 On the 68010 only, assemble a different version of
this function, since the 68010 doesn't have bit
instructions.
2001-05-17 21:26:06 +00:00
fredette
3085bd52b8 On the 68010, we are forced to do bytewise compares
and copies if the two addresses aren't of the same
evenness.
2001-05-17 21:24:08 +00:00
kleink
f56935aca7 Shameless hack to reference end when using a.out and _end when using ELF. 2001-05-05 17:46:37 +00:00
scottr
ed472989a6 Implement a significantly improved version of memccpy(), with thanks to
Ignatios Souvatzis for correcting the SVR4 ABI code and for a few
micro-optimizations that followed from these changes.

The overall improvement was measured at 3-4x for copies of at least
4 bytes on the 68030, and 8 bytes on the 68040.  For smaller copies
the improvement was still measurable, if not as dramatic.
2001-02-05 00:17:22 +00:00
scottr
7b10d18078 Implement a significantly improved version of memccpy(), with thanks to
Ignatios Souvatzis for correcting the SVR4 ABI code and for a few
micro-optimizations that followed from these changes.
2001-02-05 00:17:21 +00:00
scw
e86cd7609a The bare minimum to get m68k libc working again... 2000-12-13 21:46:23 +00:00
is
aaed06d422 Identical on m68k. 2000-12-11 16:17:18 +00:00
scw
c762ba1426 Use A1 to save the return address, since A0 is no longer preserved across
system calls.
2000-12-07 14:13:43 +00:00