ad
96f5ce86b9
objdump -d to the rescue. I think this should work now.
2007-12-08 22:42:46 +00:00
he
1e962f25f7
Correct what must obviously be a cut+paste-induced set of typos.
2007-12-04 01:13:38 +00:00
wiz
7b371a343f
Typo fixes.
2007-12-02 18:57:56 +00:00
ad
234aa6237e
Memory barriers for MIPS.
2007-11-30 22:50:44 +00:00
ad
4d460dc055
This is atomic_dec, not atomic_inc!
2007-11-30 17:11:48 +00:00
ad
f377e7f907
Fix ia32 -> amd64 thinko.
2007-11-29 21:59:47 +00:00
ad
7243d328e1
Atomic ops for sh3.
2007-11-29 17:33:38 +00:00
ad
6f3a041727
atomic_add_* takes signed integers, the others take unsigned.
2007-11-29 17:29:40 +00:00
ad
29d1edb61b
Apparently pointers are also returned in %a0.
2007-11-29 17:12:21 +00:00
ad
935eacf351
Pull in m68k atomic ops from the thorpej-atomic branch.
2007-11-29 17:09:31 +00:00
ad
6b0ff77038
Atomic ops for hppa.
2007-11-29 16:14:56 +00:00
ad
881b1b699e
Use the CAS-based inc/dec variants, since these CPUs don't have atomic
...
add in hardware (does arm?).
2007-11-29 15:29:46 +00:00
ad
fe803ab0ed
Add inc/dec variants that use atomic_cas in preference to atomic_add.
2007-11-29 15:27:57 +00:00
ad
5c5043b187
membar_read/write are gone.
2007-11-29 15:20:43 +00:00
ad
11f83d35dd
Atomic ops for arm.
2007-11-29 15:19:54 +00:00
ad
2da5f5559a
Fix the aliases.
2007-11-29 02:16:00 +00:00
ad
ebe806aa11
sparc atomic ops
2007-11-29 02:01:22 +00:00
ad
c69c0e0f91
Make the 64-bit operations available when possible.
2007-11-29 01:04:57 +00:00
ad
695c2bc225
Only build the 64-bit versions if __HAVE_ATOMIC64_OPS.
2007-11-29 01:02:40 +00:00
ad
7b3b1e0427
Atomic ops for MIPS. Use the CAS functions already provided by the kernel,
...
and use the generic C code to provide the rest. Unfortunatley the C code
assembles up pretty badly on MIPS but at least it will work.
2007-11-29 00:16:23 +00:00
ad
2f827ecd6a
ppc64 atomic ops.
2007-11-28 21:47:00 +00:00
ad
bc7bf35c36
Atomic ops for powerpc. Please review.
2007-11-28 21:39:48 +00:00
ad
44fc0a18e5
A lock prefix on xchg is meaningless.
2007-11-28 18:02:29 +00:00
ad
fb900ec918
Pull in alpha atomic ops from the thorpej-atomic branch.
2007-11-28 17:39:06 +00:00
ad
f1d10eab90
Pull in sparc64 atomic ops from the thorpej-atomic branch.
2007-11-28 17:29:31 +00:00
ad
77ca26a240
Memory barriers for sparc64. XXX Can the 'membar' go in retl delay slot?
2007-11-28 17:29:13 +00:00
ad
0df165c04d
Use xchgb, bswapl and not rotate/shift.
2007-11-28 17:03:35 +00:00
ad
13c86772e9
Memory barrier in respect of the CAS isn't necessary.
2007-11-28 16:59:09 +00:00
ad
79085586b9
Support files from the thorpej-atomic branch.
2007-11-28 16:54:57 +00:00
ad
db42e14f44
Hook the atomic ops in. Right now they are only built into libkern, and
...
only if available.
2007-11-28 15:25:44 +00:00
ad
b47fc5f5e0
Fix up a few minor problems.
2007-11-28 15:24:38 +00:00
ad
65728ed419
x86 atomic ops.
2007-11-28 01:33:47 +00:00
ad
51a2159851
Don't unconditionally clear the direction flag. The ABI says it must always
...
be clear when making a function call, and 'cld' takes about 50 clock cyles
on the P4.
2007-11-12 18:41:59 +00:00
christos
2f1af36850
use the ffs32 from bitops.h which is faster
2007-11-02 21:05:06 +00:00
he
2a0ce8a57f
Improve consistency between <sys/bswap.h> and what's actually
...
defined by the C library for the various m68k ports by borrowing
some #ifs from the i386 port.
Also, align sun2 with the other m68k ports as to whether they
define __bswap{16,32} or bswap{16,32} in their C library (all
now define the __ variants).
This should make the m68k ports build sys/rump again, except
for sun2 which hits another problem later on.
2007-09-19 20:31:34 +00:00
drochner
de07feb28f
cast to void* to avoid a fatal warning
2007-07-18 16:58:14 +00:00
joerg
17c77a58f0
Fix SIGBUS issues on strict alignment issues. Use le32dec in RMD160
...
as the data pointer to RMD160_Update doesn't have to be aligned.
In SHA256_Update and SHA512_Update, only operate directly on the passed
in data if no left-over in the context exists and the data is correctly
aligned. The problem was exposed by the audit-packages rewrite in C
and reported for the libnbcompat version in PR pkg/36662.
2007-07-18 13:57:54 +00:00
scw
dba01be393
Apply the patch, with some minor tweaks, supplied in PR/36513.
...
This prevents a possible prefetch past the end of the source buffer.
Note that the semantics of the pld instruction mean that it is unlikely
that this would have caused any problems except in very specific
circumstances in some types of device drivers.
2007-06-21 21:37:04 +00:00
scw
5092a6592f
Apply the patch supplied in PR/36512 to fix the buffer overlap check.
2007-06-20 22:31:21 +00:00
christos
a8565cf99b
handle fortify, ansify.
2007-06-04 18:19:26 +00:00
christos
1418345039
Make these work with _FORTIFY_SOURCE, by overriding the fortified definitions
2007-06-03 17:39:26 +00:00
scw
5764a76889
Remove support for NetBSD/{,evb}sh5.
2007-04-08 09:35:21 +00:00
matt
1c1dcb3369
Add these so kernels built -O0 will link.
2007-03-31 06:13:52 +00:00
chs
d210472073
don't do the weak symbol thing in kernel context.
2007-02-19 18:33:09 +00:00
christos
ace49726e7
Make SHA512_Last static since it is not part of the API. Suggested by
...
Matthias Scheler
2007-02-18 18:13:38 +00:00
christos
5feb51ff2c
make SHA512_Last weak.
2007-02-17 17:15:43 +00:00
christos
4361f207b8
remove bogus (void)&var; from Anon Ymous
2006-12-18 00:41:54 +00:00
dyoung
e3361bb265
Add strsep(3) to libkern.
...
To avoid code duplication, move strsep.c to the kernel/userland
common files.
Soon I will commit source-address selection (options IPSELSRC).
It will use strsep(3).
2006-11-13 03:26:43 +00:00
he
80b96f1aa4
Add include of <sys/param.h>, to allow vax kernels to build again.
...
For vax, this causes <machine/macros.h> to be included and the
redefine of memset() to take effect.
2006-11-01 11:29:08 +00:00
uwe
5dd5d540a6
Simplify the __attribute__ ifdef mess now that __used does the right
...
thing for older gccs.
2006-10-27 22:14:13 +00:00
christos
d029b25938
restruct the include files to look like the other hash functions.
2006-10-27 21:25:21 +00:00
christos
77c9e41904
this is shared with the kernel now.
2006-10-27 21:23:15 +00:00
uwe
088af57adf
Do the used/unused dance under #ifdef KERNEL too. Prevents mcount
...
from being optimized away when compiling sh3 kernels with profiling
enabled (gcc doesn't see that __mcount, which is written in asm,
refers to it).
2006-10-26 23:10:16 +00:00
thorpej
82fd1ebbaa
- Move strtoll.c and strtoull.c from libc/stdlib to common/libc/stdlib.
...
- Add strtoll.c and strtoull.c to libkern.
2006-10-08 03:14:55 +00:00
ross
282f07d643
Fix bug involving addresses >= 4G on ppc64.
2006-08-15 02:23:54 +00:00
ross
12f8dfa169
add reachover ffs and strlen for ppc64
2006-07-07 07:37:44 +00:00
ross
9eb6edc931
revert
2006-07-07 07:31:03 +00:00
ross
a76fa390b6
And yet more .S files...
2006-07-07 07:15:04 +00:00
uwe
13ab2e2a10
Now that bcopy.S doesn't contain the actual implemenation, move it
...
back to libc.
2006-04-23 00:08:18 +00:00
uwe
c71562d660
Move the code into memcpy.S. Adjust the other files accordingly.
...
Same binaries are generated.
2006-04-22 23:53:47 +00:00
uwe
e983955bb3
libc gets gcc millicode from libgcc, so we don't need to keep it
...
in src/common. Move it to sys/lib/libkern/arch/sh3.
2006-04-22 22:48:53 +00:00
thorpej
7d3d66c90e
Move strtoumax.c from libc/stdlib to common/libc/stdlib and include it
...
in libkern. Required for new code coming soon.
2006-04-22 15:33:33 +00:00
yamt
88cde7b8a8
prefix local labels with ".L".
2006-04-07 12:07:55 +00:00
christos
7c73c7d9b9
remove bogus _LIBC defines. broke lint.
2006-03-30 20:37:51 +00:00
martin
d5e6ed8907
Enforce argument domain by assigning to a char variable and searching
...
for that. This way we pass the lib/libc/string/strrchr regression tests.
2006-03-13 15:41:46 +00:00
simonb
1ee1a1e6e2
Don't rename bswap{16,32} if either _KERNEL or _STANDALONE are defined,
...
instead of just if _KERNEL was defined.
Fixes sbmips bootblocks build problems.
Thanks to Valeriy Ushakov for showing me where the problem was.
2006-02-08 21:52:36 +00:00
ross
b8bbfca272
Don't do DIAGASSERT against NULL if _KERNEL This puts us back to
...
kernel behavior before src/common where 0 was a valid dest addr.
This should fix the macppc (and other OEA ppc) silent-death-on-DIAGNOSTIC
issue, and possibly other DIAGNOSTIC failures.
XXX it might be worth thinking about an API where 0 is allowed in
documented cases and not allowed otherwise.
2006-02-05 06:47:48 +00:00
uwe
d78e2d9ed2
Define htonl &co as alternative names to bswap only if little endian.
...
I'm not sure if idempotent versions need to be defined for big endian,
as the man page says in that case they are defined idempotent macros.
PR port-arm/32734
2006-02-04 23:14:48 +00:00
uwe
c61d2c641d
libc wants __bswapNN, kernel wants bswapNN. That was not accounted
...
for during the merge of kernel and libc versions. Fix to match
e.g. i386 code.
2006-02-04 21:53:31 +00:00
christos
e2786343af
fix the mc68010 case.
2006-01-13 16:07:59 +00:00
christos
8ca2029daf
always compile in the userland portion. XXX: We might want to change this
...
to __no_instrument_function__ like the kernel does.
2006-01-08 07:46:39 +00:00
he
2f2fd2a0ad
Add the m68010 versions of the integer multiply divide, modulo,
...
and multiply functions from the old libkern. The m68010 versions
are only compiled when __mc68010__ is defined, presently that's
only done when building for sun2.
Reviewed by christos.
2006-01-05 22:33:34 +00:00
tsutsui
d5f01723d6
Don't redefine _LOCORE if it's already defined.
...
Some Makefiles for standalone programs already have it.
XXX Old src/sys/lib/libkern/arch/mips/memcpy.S had some #ifdef MIPS3_5900
XXX which added some extra nops, but this new common bcopy.S doesn't.
2005-12-27 11:23:53 +00:00
yamt
a30f264f2a
don't rename bswap{16,32} if defined(_KERNEL) || defined(_STANDALONE).
...
(they are hidden by gcc-optimized versions, though.)
2005-12-27 09:38:11 +00:00
yamt
987ddf0a22
make alpha kernel buildable again.
...
don't add __ prefix to bswap{16,32}
if defined(_KERNEL) || defined(_STANDALONE).
2005-12-27 09:22:08 +00:00
yamt
1722e429b8
lack of COMMON_ARCHDIR is not fatal.
2005-12-27 08:43:05 +00:00
yamt
bdaa56955a
print a meaningful error rather than "Need an operator".
2005-12-27 07:31:45 +00:00
matt
9abe0ed18f
Include <sys/param.h> first to make VAX port happy.
2005-12-24 08:34:10 +00:00
matt
460818ad02
Don't include "DEFS.h" when <machine/asm.h> is enough.
2005-12-24 08:33:32 +00:00
skrll
ab4f10bcc2
Fix PR 32363 by defining _NOREGNAMES.
...
Someone should complete the transition.
2005-12-23 10:04:51 +00:00
christos
9ce35109d3
move from libc.
2005-12-22 01:25:12 +00:00
christos
0f3640d687
x86_64 uses i386 assembly files in standalone mode.
2005-12-21 21:47:30 +00:00
christos
54bb4a449f
conditionally build this on GPROF again.
2005-12-21 18:11:32 +00:00
christos
bab1897aa8
Only build this if GPROF && !_STANDALONE
2005-12-21 18:11:11 +00:00
christos
91165a001e
make this compile again.
2005-12-21 16:58:04 +00:00
christos
4659ba77df
Build also when GPROF is not defined.
2005-12-21 15:14:09 +00:00
christos
70b3b52aaa
Add the old small random from the libkern and use it for now.
2005-12-21 14:23:58 +00:00
christos
93412868df
Make this compile for the kernel again.
2005-12-21 14:19:45 +00:00
christos
734fc1f9ff
move from libc.
2005-12-21 00:25:56 +00:00
christos
242aadbe63
Include string in the cpp flags.
2005-12-20 22:51:18 +00:00
christos
275e8bb92d
add files I forgot to commit.
2005-12-20 20:29:40 +00:00
christos
37c9f0a654
Merge libkern + libc common files. As requested by core.
2005-12-20 19:28:49 +00:00