Commit Graph

260 Commits

Author SHA1 Message Date
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