Commit Graph

706 Commits

Author SHA1 Message Date
thorpej
2f3beab89e Reduce the memory footprint for prop_bool_t objects significantly, taking
adavantage of the immutability of these objects:

Statically allocate a TRUE object and a FALSE object, and simply return
references to those objects for create and copy operations.
2006-07-05 20:29:28 +00:00
jnemeth
03f6e8b0e6 remove unused variable that broke build 2006-05-28 10:15:25 +00:00
thorpej
e79f2cf0d1 Keep a table of unique dictionary keysyms. This way, if we have 200 devices
with the "fw-path" property, we only have one copy of the "fw-path" string
as a dictionary key.
2006-05-28 03:56:29 +00:00
thorpej
42e8dee346 Fix the way that prop_array_ensure_capacity() and _prop_array_expand()
interact.
2006-05-28 03:53:51 +00:00
thorpej
9e4cb79390 More cleanup. 2006-05-18 16:35:33 +00:00
thorpej
eff718846c Move all of the locking compatibility definitions into prop_object_impl.h. 2006-05-18 16:23:55 +00:00
thorpej
1eaa09f21d Minor cleanup. 2006-05-18 16:11:33 +00:00
thorpej
3e69f1b2a5 - Add prop_array_equals(), prop_dictionary_equals(), and
prop_dictionary_keysym_equals(), and prop_object_equals() functions.
- Use realloc() where it makes sense.  There will be more changes in this
  area.
- Add a _prop_object_type structure that is used internally to keep
  information about the object types.  Decreases the footprint of the
  objects slightly by replacing several pointers with just one.
2006-05-18 03:05:19 +00:00
christos
b7c6768d3d Coverity CID 3206: Add assertion for NULL deref. 2006-05-13 22:05:04 +00:00
he
6bbc42816c Make the conditional for defining boolean_t complement the conditional
in sys/sys/types.h -- also need to test _STANDALONE.
Fixes a build problem for vax.
2006-05-07 12:46:01 +00:00
simonb
fda54e7c6f In _prop_dictionary_alloc(), explicitly set pd->pd_flags to zero
instead of leaving random garbage in there.
Should we just use "memset(pd, 0, sizeof(*pd));" instead?

Fixes boot problems on evbppc/WALNUT with new proplib.
2006-05-07 06:25:49 +00:00
thorpej
774eb1a395 Initial commit of proplib, a library for manipulating property lists and
converting to/from an XML external representation (based on Apple XML
property lists).  Works in the kernel and user space.
2006-04-27 20:11:27 +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
dsl
2fd2e12bd8 Don't bloat the standalone images with preset CRC tables and large routines.
Ideally some of the loops need de-unrolling as well (and in adler32.c).
Makes the i386 install floppies fit.
2006-02-18 18:39:58 +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
b85ba082e0 Sprinkle __UNCONST and fix some casts to make this pass WARNS=4
Note, that we cannot fix this properly because it will break the zlib.h API.
2006-01-27 00:45:27 +00:00
uwe
d6cc4d7850 If __NetBSD__ && (_KERNEL || _STANDALONE) - don't try to pull in
limits.h to guess what a four byte type is, just use uint32_t.
2006-01-25 23:15:55 +00:00
christos
a1f9f4c090 change DEBUG to ZLIB_DEBUG. 2006-01-16 17:02:29 +00:00
christos
5a1ae2ecf2 Avoid possible name shadowing with min and max (from libkern). 2006-01-16 03:23:10 +00:00
christos
c08686ce36 add NetBSD ifdefs 2006-01-14 20:28:58 +00:00
christos
49473ec58b - include <sys/types.h>
- add z_ptrdiff_t
- add NetBSD ifdefs.
2006-01-14 20:27:34 +00:00
christos
86a96dbd0e use z_ptrdiff_t instead of ptrdiff_t directly. 2006-01-14 20:26:26 +00:00
christos
8f50ba1350 rename write to wwrite to avoid variable shadowing. 2006-01-14 20:26:05 +00:00
christos
aaf4ece63a from www.zlib.net 2006-01-14 20:10:22 +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