Commit Graph

836 Commits

Author SHA1 Message Date
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
msaitoh cf9f94a483 sync with other archs.
Important fixes:

 > ldexp(denormal, exp>1023) would generate the wrong result in all non-overflow
 > cases.  Totally rework this code to fix this bug *and* make it faster.

 > Don't ever return -0.0.
2001-12-10 10:23:03 +00:00
wiz b4371d47f5 Replace some misuses of "then" with "than". 2001-12-04 17:56:30 +00:00
mjl a9c86c6ce0 Add assembler version of strlen. 2001-11-30 02:26:35 +00:00
mjl 625c08cf7e Outifdef some stuff not needed in the _KERNEL case. 2001-11-30 02:25:50 +00:00
mjl 7f0157c400 Make this work in kernel space too. 2001-11-29 00:20:37 +00:00
mjl feb8901632 Add PPC assembler routines for ffs(3), bzero(3) and memset(3). 2001-11-25 01:09:58 +00:00
wiz 1fd7eeefcd "than" instead of "then". 2001-11-21 19:14:19 +00:00
chris aadbf924e6 Update asm files to use sp instead of r13. Also tweak a couple of bits in the longjmp code to save an instruction. 2001-11-13 20:04:52 +00:00
chris d4ffdc1db0 Update arm libc files for 8 byte aligned stack. 2001-11-13 20:03:38 +00:00
bjh21 49ddb29842 Fix .type directive to use the right name for L_ffs_table (pointed out by
Ian Fry).

Also, add RCSID and fix some comments.
2001-11-13 13:07:52 +00:00
chris 6829afaed3 Update the libc version of ffs to make use of an optimsed asm version. 2001-11-11 22:05:18 +00:00
bjh21 4da598993d Rename a parameter to fix build problem with new toolchain. 2001-11-08 22:45:45 +00:00
tron b1d32d0e07 Rename a parameter to fix build problem with new toolchain. 2001-11-08 11:24:07 +00:00
enami 6023422f9d Fix -Wshadow warnings. 2001-11-08 06:51:05 +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
mjl d1960d6679 fix for -Wshadow 2001-11-07 17:46:21 +00:00
chs 5f13639b8f fix for -Wshadow 2001-11-07 15:45:12 +00:00
drochner f3b5b119ec fix -Wshadow warnings 2001-11-07 13:44:58 +00:00
lukem 50f5afd52e fix WARNS=2 (-Wshadow) warnings 2001-11-04 13:57:29 +00:00
bjh21 ffbd94556b Change isnan() and isinf() to use a union to convert from double to
struct ieee_double, rather than a pointer cast.  This seems to enable
GCC 2.95.3 to get the instruction dependencies right (the old one fell
foul of ANSI aliasing rules), and it also generates more sensible code in
general.

If this is the correct solution, it should be applied to the other ports.
If it's not, someone should come up with one that _is_ correct.
2001-10-29 20:16:55 +00:00
bjh21 6a56d71ffa Handle machines using VFP-format doubles (as we do in ARM ELF) and big-endian
systems correctly.
2001-10-28 12:40:56 +00:00
tv fbc7a97b48 Remove files beginning with ":", which is invalid on other host OS's
(particularly those made by Microsoft).  These ex/vi-macro files are not
actually needed at this point, anyway....
2001-10-19 02:43:26 +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
chuck 759fa4641f change "pushl [r0](ap)" ---> "pushl (ap)[r0]" ... the old version
made a reference to an external symbol "r0" rather that used register r0.
2001-09-06 18:42:58 +00:00
matt 9969d4398b Ansi'fy. (to make this compile under -Wstrict-prototypes) 2001-08-27 16:46:43 +00:00
matthias 0548dfb96c __clone stub for ns32k. Basic code taken from m68k. 2001-08-08 09:19:40 +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
christos fdda22398f add an implementation of __clone(2) 2001-07-23 01:41:25 +00:00
christos 9a416d6f08 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 01:40:33 +00:00
chris 30b6c70f2c Add __clone() for arm. 2001-07-22 18:56:34 +00:00
tsubai 2060c2091a Add __clone() for sh3. 2001-07-22 17:18:25 +00:00
thorpej bcd75f16cb Duh, call the clone's entry point w/ jal, so that when it returns,
it returns to the correct $ra (not the parent's!!).
2001-07-20 17:37:39 +00:00
tsubai 193161b3fe Add a __clone(3) entry point for powerpc. 2001-07-20 17:19:15 +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
matthias 5501e1c532 This is just a RSYSCALL. 2001-07-20 11:17:18 +00:00
matt 63237a33ce Add __clone(2) for VAX. 2001-07-20 06:10:12 +00:00
scw c45a0d8765 clone(2) syscall frontend for m68k. 2001-07-19 21:50:46 +00:00
fvdl d34ad42fdb Fix call to _exit. 2001-07-18 12:24:53 +00:00
thorpej da2e0bfb7c Simplify slightly. 2001-07-17 23:13:04 +00:00
fvdl 017c6632e8 __clone stub for i386 2001-07-17 06:03:43 +00:00
thorpej 480252327f Cosmetic change. 2001-07-17 02:05:32 +00:00
thorpej d85c1e4043 Add a __clone(2) entry point. 2001-07-17 02:01:40 +00:00
thorpej 4cd75d0d0a Add a __clone(3) entry point. 2001-07-17 00:33:04 +00:00
matt 5feec23305 Changes needed for ARM ELF shared library support. 2001-07-16 05:50:05 +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
ragge d6a6aa8773 These are too simple to not have in assembler. Also shrunk the libs with
~1k of unneccessary code :-)
2001-07-01 13:31:18 +00:00
eeh 4acdda21fd Add an optimized asssembly bcopy/memcpy. 2001-06-30 00:10:48 +00:00
atatat c39d205545 fix a grammatical error error 2001-06-28 05:25:04 +00:00
kleink b7ef7f807f Use a bzero-based assembly language implementation for memset();
inspired by the recent sparc64 change.
2001-06-23 08:38:43 +00:00
eeh 6541f113b9 Add an assembly version of memset(3). 2001-06-21 22:41:55 +00:00
fvdl 10f59d7bba Initial commit of x86-64 specific parts of libc. 2001-06-19 00:25:01 +00:00
simonb aebecd5c42 Compile in soft-float support if MKSOFTFLOAT != "no". 2001-06-18 17:05:32 +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
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 2262305e20 Fix renaming botch in previous. 2001-05-29 23:59:19 +00:00
kleink 3529d6d10f Add missing internal names and weak aliases to assembly versions. 2001-05-29 13:03:01 +00:00
tsubai bfc2a06464 Correct input and output of asm. 2001-05-25 12:28:12 +00:00
simonb 937389b6ee Handle soft-float case, code from David Querbach of Real-Time Systems Inc. 2001-05-25 12:17:45 +00:00
simonb 42102f1084 Handle soft-float case, from the arm flt_rounds.c. 2001-05-25 12:14:05 +00:00
simonb 3f04a27329 Softfloat support files for PowerPC. 2001-05-25 11:38:57 +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 95fa77ab80 Make this work for PIC (as opposed to pic) without taking chances of fitting
__ffstab into a GOT13 relocation; from Eduardo Horvath.
2001-05-13 20:03:45 +00:00
eeh 4fd3b89e58 Removed unused PIC setup code. 2001-05-13 20:02:13 +00:00
msaitoh aa754324f7 style fix (no functional change) 2001-05-11 19:58:06 +00:00
kleink 6814785547 Make the END() argument match the entry name. 2001-05-07 17:19:17 +00:00
ross b25c2304f3 I have no idea why this syscall wrapper does some very un-unix-like
argument prefrobbing, in particular, it computes max(addr, __minbrk)
and uses that. The code is like this even in the ancient libc/i386 tree,
back to the earliest rev 1.2. I did not see it Lite 1, but I'm not totally
sure what the random site I found was serving up.
*
* However, I do know that it should use jb and not jl.
*
2001-05-06 19:27:07 +00:00
kleink d493d86cac Shameless hack to reference end when using a.out and _end when using ELF. 2001-05-05 17:56:58 +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
ross 1b16e0e8ee tweak barrier ops some more 2001-04-26 04:18:32 +00:00
ross 18274acbcd Delete the trapb ops bracketing mf_fpcr, they aren't needed.
Change the trapb ops bracketing mt_fpcr to excb ops.
2001-04-26 03:23:18 +00:00
ross 0c3b624af9 Complete rewrite. Call the new sysarch(ALPHA_FPGETSTICKY, ...). 2001-04-26 03:21:39 +00:00
ross 91a26b1052 remove the trapb ops bracketing mf_fpcr, in this one case they aren't needed 2001-04-26 03:19:10 +00:00
ross 885770193a minor cleanup 2001-04-26 03:16:58 +00:00
simonb 8b33f6cba9 Fix typos in an (unused) function return type. 2001-04-26 01:00:30 +00:00
marcus 059c35bcd9 Renamed reference to compat syscall to conform to new naming scheme. 2001-04-09 16:08:41 +00:00
marcus 84308157cc Added missing _C_LABEL to errno reference. 2001-04-09 16:07:34 +00:00
bjh21 d1fdb92ff8 Remove arm32-specific files from libc. NetBSD/arm32 now uses the generic
ARM sources in lib/libc/arch/arm.
2001-03-13 19:31:36 +00:00
bjh21 6964bdfcad Re-instate __fixunssfsi() and __fixunsdfsi(), but only for arm32 with a.out
binaries, because libc's provided them there forever.
2001-03-08 18:56:19 +00:00
bjh21 328780b294 Leave selection of APCS mode to the compiler -- future versions of cpp will
get it right.

Always include new softfloat code -- it seems OK on arm32.
2001-03-07 00:49:48 +00:00
cgd 2eb1943575 make these more amenable to being copied into libkern. (Gee, why wasn't
this done before?  it's not like it was hard...)
2001-02-27 19:44:54 +00:00
cgd 181fee6ea8 pull up <machine/endian.h> and use BYTE_ORDER to decide endianness,
rather than MIPSEL and MIPSEB definitions.
2001-02-27 18:59:16 +00:00
bjh21 fe6fa58436 Add support for ARM VFP-format doubles, conditional on __VFP_FP__. 2001-02-21 18:09:25 +00:00