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
thorpej
c7e237f26a
Merge the nathanw_sa branch.
2003-01-20 00:26:39 +00:00
thorpej
3fdac2b8c5
Merge the nathanw_sa branch.
2003-01-18 10:52:16 +00:00
itohy
6cde54195b
Assembly version of string functions.
...
Originally from SHIMIZU Ryo.
2002-11-20 14:23:54 +00:00
msaitoh
a991dcef11
Add __movstr_i4_{odd,even} for -m4.
...
Written by SHIMIZU Ryo.
2002-09-05 08:35:15 +00:00
itohy
f89823c1f8
Save 1-4 instructions on all cases except for the ret=0 case.
...
This is probably the last version from me. :)
You are welcome to speed it up, of course. :)
Here's a benchmark on SH-4 200MHz.
9.2% faster if all the cases occur evenly.
return value C version previous vers this version speed ratio
of ffs() (ns/call) *1 (ns/call) (ns/call) *2 (*1/*2)
------------ ------------ ------------- ------------ -----------
0 86 81 81 1.06
1 110 106 91 1.21
2 132 106 92 1.43
3 165 117 96 1.72
4 201 116 95 2.12
5 237 107 99 2.39
6 271 106 101 2.68
7 307 116 107 2.87
8 342 116 105 3.26
9 376 126 111 3.39
10 410 127 110 3.73
11 446 136 115 3.88
12 483 134 116 4.16
13 518 125 119 4.35
14 551 126 120 4.59
15 587 135 127 4.62
16 624 136 126 4.95
17 658 139 126 5.22
18 694 140 126 5.51
19 727 148 131 5.55
20 764 150 131 5.83
21 799 141 135 5.92
22 834 142 135 6.18
23 868 152 140 6.20
24 903 153 142 6.36
25 939 140 127 7.39
26 974 141 126 7.73
27 1009 152 131 7.70
28 1044 148 130 8.03
29 1080 141 136 7.94
30 1115 141 136 8.20
31 1151 151 141 8.16
32 1185 151 140 8.46
2002-09-01 13:14:53 +00:00
itohy
fa5465079f
Slightly improved version of ffs(3).
...
Partially from SHIMIZU Ryo <ryo@iij.ad.jp>. Thanks.
Some cases are slower, but other most cases are faster.
Here's a benchmark on SH-4 200MHz.
return value C version previous vers this version speed ratio
of ffs() (ns/call) *1 (ns/call) (ns/call) *2 (*1/*2)
------------ ------------ ------------- ------------ -----------
0 86 86 81 1.06
1 110 86 106 *(slower) 1.04
2 132 86 106 * 1.25
3 165 105 117 * 1.41
4 201 104 116 * 1.73
5 237 111 107 2.21
6 271 111 106 2.56
7 307 126 116 2.65
8 342 125 116 2.95
9 376 122 126 * 2.98
10 410 121 127 * 3.23
11 446 139 136 3.28
12 483 140 134 3.60
13 518 146 125 4.14
14 551 146 126 4.37
15 587 161 135 4.35
16 624 162 136 4.59
17 658 141 139 4.73
18 694 142 140 4.96
19 727 160 148 4.91
20 764 161 150 5.09
21 799 167 141 5.67
22 834 167 142 5.87
23 868 181 152 5.71
24 903 181 153 5.90
25 939 146 140 6.71
26 974 146 141 6.91
27 1009 166 152 6.64
28 1044 165 148 7.05
29 1080 171 141 7.66
30 1115 171 141 7.91
31 1151 185 151 7.62
32 1185 186 151 7.85
2002-08-28 15:34:35 +00:00
itohy
6736303e13
Use assembly version of ffs(3).
2002-08-24 06:39:48 +00:00
itohy
85ce1de27f
Oops, SYSLIBC_SCCS -> LIBC_SCCS
2002-08-24 06:37:24 +00:00
itohy
70b5675025
Assembly version of ffs(3).
...
Confirmed to return the same value as that of the C version.
The results of a simple benchmark on SH-4 200MHz, is shown below.
I think this shows acceptable performance.
return value C version this version speed
of ffs() (ns/call) (ns/call) ratio
------------ --------- ------------ -----
0 86 86 1.00
1 110 86 1.27
2 132 86 1.53
3 165 105 1.57
4 201 104 1.93
5 237 111 2.13
6 271 111 2.44
7 307 126 2.43
8 342 125 2.73
9 376 122 3.08
10 410 121 3.38
11 446 139 3.20
12 483 140 3.45
13 518 146 3.54
14 551 146 3.77
15 587 161 3.64
16 624 162 3.85
17 658 141 4.66
18 694 142 4.88
19 727 160 4.54
20 764 161 4.74
21 799 167 4.78
22 834 167 4.99
23 868 181 4.79
24 903 181 4.98
25 939 146 6.43
26 974 146 6.67
27 1009 166 6.07
28 1044 165 6.32
29 1080 171 6.31
30 1115 171 6.52
31 1151 185 6.22
32 1185 186 6.37
2002-08-24 06:30:34 +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
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
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
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
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
thorpej
2e52a189a8
Remove non-existent ldexp.c from SRCS.
2002-04-02 03:41:26 +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
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
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
tsubai
2060c2091a
Add __clone() for sh3.
2001-07-22 17:18:25 +00:00
msaitoh
aa754324f7
style fix (no functional change)
2001-05-11 19:58:06 +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
msaitoh
6e979b59fa
_C_LABEL()
2001-02-16 20:03:09 +00:00
msaitoh
3c31811206
don't profile (use NENTRY() and ALTENTRY())
2001-02-14 21:04:17 +00:00
msaitoh
43f68615ec
use _C_LABEL()
2001-02-14 11:32:44 +00:00
bjh21
0347c41a17
Don't declare functions that are provided elsewhere in libc.
2001-02-08 13:22:15 +00:00
itojun
9870327734
fix syscall() and __syscall(). r0 has to be set to SYS_syscall or
...
SYS___syscall, respectively. otherwise sys/arch/sh3/sh3/trap.c will
look at the wrong argument.
2001-01-17 05:15:02 +00:00
itojun
6de175eeb8
__syscall is now mandatory
2001-01-04 08:53:50 +00:00
tsubai
7ec5b1f483
Fix weak alias.
2000-12-16 01:40:38 +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
tsubai
7272e1b36f
s/minbrk/_C_LABEL(__minbrk)/.
2000-08-04 09:19:39 +00:00
tsubai
511556bf86
Change comment character from '#' to '!'. (binutils-2.10 doesn't like '#')
2000-08-04 08:47:03 +00:00
bjh21
3b9cd873cb
Revert previous change -- turned out I'd got my build environment in a twist.
2000-07-15 15:07:34 +00:00
bjh21
985033a7a6
Add fixunssfsi and fixunsdfsi. These are provided by libgcc2.c in GCC 2.95,
...
but not in EGCS.
This version of fixunssfsi is almost exactly the arm32 version. fixunsdfsi is
mostly based on fixdfsi, but with simplifications for 64-bit integers.
Only minimal testing has been applied so far.
2000-07-15 13:26:50 +00:00
itohy
af83a97717
Add special treatment of shmat(2).
...
On m68k ELF calling standard (__SVR4_ABI__), if a function
returns a pointer, the return value should go to a0 as well as d0.
2000-07-07 08:20:50 +00:00
kleink
b8a4d7adf9
Need an internal name for fork().
2000-06-26 06:32:54 +00:00
kleink
15bc7ed349
Thinko in previous: we do always use an internal name.
2000-06-26 06:25:36 +00:00
kleink
03f996bd0c
Add internal names for brk() and sbrk().
2000-06-23 15:40:36 +00:00
cgd
d220ca5ba3
fix up NetBSD RCS Ids to match the standard, and the leading comment as
...
to match as well. No functional changes.
2000-06-14 06:48:47 +00:00
msaitoh
b2e2c7ec87
movstrSI*() for gcc -Os
2000-06-09 04:47:31 +00:00
tsubai
bba37c9174
Add softfloat glue for sh3.
2000-06-06 17:28:37 +00:00
tsubai
dc6a892a44
Add missing files.
2000-04-20 13:48:14 +00:00
msaitoh
9c587bcf2f
fill delay slots (from Klaus Klein)
2000-03-27 16:27:16 +00:00
soren
89c5a767f8
Fix doubled 'the's.
2000-03-13 22:55:05 +00:00
kleink
e4d7c2e329
Add ISO C99 long long integer general utility interfaces; partially addresses
...
PR standards/9482.
2000-03-06 18:32:22 +00:00