Commit Graph

95 Commits

Author SHA1 Message Date
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
bjh21
6bd902a1db Adapt for recent lib/libc/softfloat changes. 2002-05-22 10:20:20 +00:00
bjh21
010758bf16 Add SIGFPE support to SoftFloat, so fpsetmask/fpgetmask now work. A new
variable, float_exception_mask (#defined to _softfloat_float_exception_mask)
contains the current exception mask.
Also make the argument to float_raise into an fp_except.
Also synchronise file header comments between files.
2002-05-12 13:12:45 +00:00
eeh
22abdf821b Use large (-fPIC) relocations. 2002-05-07 01:34:21 +00:00
eeh
b92211c580 Go back from using %g2 (an application register) to %g7 (a system register)
for syscall returns.
2002-05-07 01:32:46 +00:00
eeh
1d63620b87 Add support for large -fPIC relocations. 2002-05-07 01:31:33 +00:00
bjh21
251de84ccc Consistently declare the types of float_rounding_mode and float_exception_flags
as fp_rnd and fp_except respectively.
2002-05-06 19:05:00 +00:00
thorpej
046b47950e Add a .register directive to appease newer gas. 2002-05-05 17:51:46 +00:00
bjh21
25540eca7e All the versions of softfloat-specialize were practically identical, so replace
them with a single one.
2002-04-21 21:07:35 +00:00
eeh
bc3cedd6d8 The mask for 8-byte alignment is 0x7 not 0xf. 2002-04-02 22:07:55 +00:00
eeh
eb4eaa1ba4 Remove test harnass bits. 2002-04-01 15:59:26 +00:00
eeh
35e86bd3e5 Better, faster strlen(). 2002-03-30 03:28:53 +00:00
jmc
a7839b0fdc Fix typo in previous commit 2002-03-27 03:43:39 +00:00
jmc
a1fe3592c6 Correct mistaken signature for _Qp_dtoq. It gets a double passed in, not
a pointer to double which causes obvious errors on evaluation
2002-03-27 03:41:54 +00:00
jmc
f40c307405 Move names for softfloat lib that _Qp functions call into _softfloat_
namespace
2002-03-04 21:26:39 +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
jmc
4b4c3144ba Enable the _Qp* routines to be built always and allow full softfloat to be
pulled in if MKSOFTFLOAT gets enabled.
2002-02-05 07:54:01 +00:00
jmc
d9c86555ad Add softfloat and quad softfloat setup for sparc64 (thanks to Andrey Petrov
for most of this. I just integrated the build).

This adds proper functions for the _Qp* parts of the sparc64 ABI (which
handle quad softfloat). The routines work but need additional testing.
However if the compiler calls these currently bad things (core dumps)
will happen as gcc 2.95.3 generates bad calls for these.

Until that problem is fixed in the toolchain -msoft-quad-float cannot be
enabled as the default option for all builds (but the routines need to be
in libc as libgcc contains some references to these and anything including
it via --whole-archive will need the symbols to at least resolve).
2002-02-05 07:53:05 +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
tv
26375a1710 Remove -Wa,-Av9a hack from <sys.mk> and relegate it to the places that need
it (kernel and libc).

The current version of the gas assembler in the tree (2.11.2) already
defaults to generating object files for "-Av9 -64", supporting V9
instructions in ELF64 object format.  "-Av9a" is only needed for specific
parts of the NetBSD base sources, and not for all third-party code.
2001-12-19 21:17:59 +00:00
chs
5f13639b8f fix for -Wshadow 2001-11-07 15:45:12 +00:00
eeh
1a0ae8c9f0 Improved version of bzero. 2001-08-02 01:17:28 +00:00
eeh
5dd57287be Fix some corner cases. 2001-08-01 16:45:20 +00:00
eeh
685a79bb36 Use unsigned compares for addresses. 2001-08-01 05:52:12 +00:00
thorpej
f98eeabaa2 sparc64 version, cloned (har har!) from the sparc version and tweaked. 2001-07-23 07:35:44 +00:00
thorpej
fed292651f From rev. 1.11 of the 32-bit version:
Add a macro "CALL()" to call a function correctly in the pic and non pic
case. Write ERROR() in terms of call.
2001-07-23 07:26:50 +00:00
eeh
b4b1b3f3d7 Replace bzero.S and bcopy.S with memset.S and memcpy.S to make the makefiles
happy.
2001-07-07 04:55:21 +00:00
eeh
227671f79e Fix more boundary issues. 2001-07-05 19:09:24 +00:00
eeh
8617fb9c54 Fix some boundary condition issues. 2001-07-05 06:29:49 +00:00
eeh
81fff01d8c Re-enable block insns for cahe issues. 2001-07-04 20:18:30 +00:00
eeh
093cf4f3b1 Re-enable block insns since they don't allocate in the caches. 2001-07-04 20:16:17 +00:00
eeh
64c6d98716 Disable slower VIS version. 2001-07-04 05:51:06 +00:00
eeh
a6d4aabed4 Fix return value and fetches beyond the source range that could cause
segmentation faults in some cases.  And disable the VIS version which
seems to be slower.
2001-07-04 05:44:56 +00:00
eeh
c7b881788f Oops. Fix typo. 2001-07-01 22:48:30 +00:00
eeh
0abcba55b7 I seem to have stumbled on an even faster bcopy implementation.... 2001-07-01 22:19:51 +00:00
eeh
4acdda21fd Add an optimized asssembly bcopy/memcpy. 2001-06-30 00:10:48 +00:00
eeh
6541f113b9 Add an assembly version of memset(3). 2001-06-21 22:41:55 +00:00
chs
77b0e1dfba adjust the PIC case for ERROR() to handle __cerror being at a larger offset
than will fit in the immediate field of the LDX instruction.
2001-06-15 01:09:50 +00:00
eeh
4fd3b89e58 Removed unused PIC setup code. 2001-05-13 20:02:13 +00:00
eeh
e21d458f48 Don't flush the zero-ed data from the cache. 2001-02-10 23:35:41 +00:00
martin
772baecb3a Add simple __syscall.S to make libc compile on sparc64 again. 2000-12-13 20:25:04 +00:00
eeh
5d73d71676 Fix modf() (I hope. Can't be any worse than the old version.) 2000-11-01 23:32:41 +00:00
kleink
82fd76bb06 Need an internal name for pipe(2). 2000-09-28 08:38:53 +00:00
msaitoh
f9b799b651 check LIBC_SCCS 2000-09-13 22:32:25 +00:00
eeh
d3312c2719 Fix layout of fields in jmp_buf. [N.B. we could make JMP_BUFLEN 9 if we want.] 2000-08-28 00:45:59 +00:00
eeh
9c2bf87977 Need to reserve a full 64-bit stackframe, not a 32-bit one. 2000-07-26 00:53:50 +00:00
mycroft
01a39929fc Store the whole 64-bit pointer... 2000-07-25 20:15:40 +00:00
mycroft
fb41c8728c Use cpp comment style. 2000-07-25 15:14:45 +00:00