lneto
4ab4902eb2
lua: updated from 5.1 to 5.3 work3
...
* lua(1):
- changed lua_Integer to intmax_t
- updated distrib/sets/lists and etc/mtree
- updated bsd.lua.mk
- fixed bozohttpd (lua-bozo.c)
- compatibilized bindings: gpio, sqlite
* lua(4):
- removed floating-point and libc dependencies using '#ifndef _KERNEL'
- fixed division by zero and exponentiation
- libkern: added isalnum(), iscntrl(), isgraph(), isprint() and ispunct()
- acpica: removed isprint() from acnetbsd.h
- libc: moved strcspn.c, strpbrk.c and strspn.c to common
- removed stub headers
- compatibilized bindings: luapmf, luasystm
* reorganized luaconf.h
* updated doc/CHANGES and doc/RESPONSIBLE
2014-07-19 18:38:33 +00:00
joerg
aa565dfb01
Add unused memory model argument to make GCC happy.
2014-07-06 01:19:45 +00:00
joerg
3ba4836216
Provide a basic implementation of __atomic_load_* and __atomic_store_*,
...
used by GCC and LLVM as backing for C11/C++11 atomics, if the hardware
is not known to have corresponding features. Include it on ARM as LLVM
and libc++ hit it when compiled for ARMv4.
2014-07-05 20:44:46 +00:00
joerg
bd7dee058c
Add aliases for the C11/C++11 spelling of the CAS primitives.
2014-06-28 20:18:55 +00:00
drochner
1970d452ef
add a public domain notice
2014-06-24 16:39:39 +00:00
joerg
504e8e687f
Add aliases for the builtins used to implement C11/C++11 atomics.
2014-06-23 21:53:45 +00:00
christos
f16aa4743c
update for the new function signatures of initstate/srandom
2014-06-12 20:59:46 +00:00
shm
a3f6a15448
PR/48517 do not add extra '>' to string-converted value when nothing matches
2014-06-06 07:08:37 +00:00
uebayasi
19ef5b5b0b
Put missing END() markers to set ELF symbol size.
2014-05-23 03:17:31 +00:00
pooka
b1a03c8e0b
fix build for _KERNEL
2014-05-22 16:47:31 +00:00
uebayasi
502c621104
Put missing END() markers to set ELF symbol size.
2014-05-22 15:21:13 +00:00
joerg
353aedd819
Make EHABI optional.
2014-05-06 16:02:10 +00:00
christos
57561cf1db
The kernel uses 64 bit atomic ops.
2014-04-22 19:27:17 +00:00
joerg
e3dae42754
Undef possible macro versions of memcpy and friends for kernel builds
...
too. libkern sometimes defines them to the builtins.
2014-04-16 20:39:55 +00:00
joerg
a33c368664
Using bcopy/memcpy with NULL arguments is valid as long as the size is
...
also 0.
2014-04-14 18:18:58 +00:00
skrll
39ac7250f3
Ensure SBZ register is zero
2014-03-28 21:32:41 +00:00
christos
a6e338b0d6
kill sprintf
2014-03-26 18:12:46 +00:00
jakllsch
2c56941e16
For all i386 string assembly functions that don't overlap use END() so
...
that symbol size information is available.
2014-03-22 19:38:46 +00:00
jakllsch
6ac3c1f4d7
For all x86_64 string assembly functions that don't overlap (i.e. every
...
one except memset and bzero) use END() so that symbol size information
is available.
2014-03-22 19:16:34 +00:00
riastradh
6cb10275d0
Merge riastradh-drm2 to HEAD.
2014-03-18 18:20:35 +00:00
riastradh
0766111859
Fix subword atomic_cas.
...
- Don't loop forever on failure.
- Don't shift away the result and return zero on success.
Evidently we lack automatic tests for these!
2014-03-09 16:19:14 +00:00
martin
b6407fab71
Fix return value (typo, noticed by Nick Hudson)
2014-03-07 08:42:58 +00:00
matt
3b018d607e
Use the sources in ../../arch/powerpc instead
2014-03-07 07:20:56 +00:00
matt
c9642ed49c
Now the sources in ../../arch/powerpc
2014-03-07 07:20:24 +00:00
matt
6dd4b41fd3
Reduce duplication.
...
Use beqlr to quicken returns
2014-03-07 07:17:54 +00:00
matt
e70564d7d6
apcs-gnu only passes one register on the stack.
...
ldrd always loads little endian (low address, low register).
2014-03-05 17:20:48 +00:00
macallan
1890dda80c
on 601 CPUs skip to normal memcpy if both source and destination are 32bit
...
aligned
2014-03-04 17:05:14 +00:00
matt
ab7ecd2ca6
Don't export __sync* if _KERNEL || _STANDALONE are defined.
...
(except if _RUMPKERNEL is defined)
2014-03-04 16:15:28 +00:00
matt
4fa1971b77
Fix #if/#endif nesting
2014-03-04 07:01:26 +00:00
matt
f2d0e50b73
fix typo.
2014-03-04 06:36:41 +00:00
matt
2e6bec6f0d
Make this work with coldfire.
2014-03-04 06:15:33 +00:00
matt
ab9be61dac
Make this coldfire compatible
2014-03-04 04:03:49 +00:00
matt
37c6d125b7
Fix non-EABI loading of argument. Deal with endian issues.
...
Fixes PR/48635
2014-03-04 03:50:37 +00:00
matt
674350cab3
Add atomic_sub_64.S
2014-03-04 03:49:07 +00:00
matt
308d85879d
Load new value from correct stack location in _atomic_cas_64_up
2014-03-04 03:36:24 +00:00
matt
be9a2e2448
Fetch value from correct stack location. Push an even number of registers
...
so ldrd won't fail.
2014-03-04 03:34:22 +00:00
matt
f3eefe6cf1
Use _KERNEL_OPT around #include "opt_ppcarch.h"
2014-03-03 18:55:02 +00:00
macallan
a00f9ab046
on ppc601 do byte-wise copies when in _KERNEL
...
from scole_mail, ok matt@
2014-03-03 15:30:31 +00:00
matt
d9d3fe3d18
Add atomic_cas_64 support for ARM EABI on V5TE and V5TEJ cpus.
...
(strd is atomic).
2014-02-27 09:39:00 +00:00
matt
99ca27526b
Add a method to test the compiler for things like LDREX availability,
...
LDRD availability, THUMB2, EABI.
2014-02-27 09:37:02 +00:00
martin
7d33c23876
Provide CAS variants for 16 and 8 bit when running with more that 1 cpu
2014-02-24 17:18:27 +00:00
martin
a9af946581
Provide cas_16 and cas_8 emulation via cas_32 and use that for mips64
2014-02-24 16:15:43 +00:00
martin
acddc8c970
Remove misplaced #endif
2014-02-23 07:43:38 +00:00
martin
0bc3e372de
Missed one __sync_* op (or gcc4.8 does inline it, while 4.5 does not?)
2014-02-22 17:16:12 +00:00
martin
b290679a78
Try to hide the C runtime implementation specific __sync_* ops from librump,
...
to avoid duplicates.
2014-02-22 17:08:30 +00:00
martin
a41f5c9de6
Add missing __sunc_* ops for sun2
2014-02-22 14:51:34 +00:00
martin
1e4743d51f
Add missing __sync_* ops to libc
2014-02-22 12:12:30 +00:00
skrll
ee0ea75254
Add the missing __sync_* ops to libc
2014-02-22 10:23:24 +00:00
martin
fc2fa9ee78
Add the missing __sync_* ops to libc
2014-02-22 08:53:33 +00:00
skrll
685e258fc7
Another layout change
2014-02-22 08:24:27 +00:00
skrll
59b3381179
Layout changes - no functional change.
2014-02-22 08:21:03 +00:00
martin
7c40818eed
Move the __sync_* ops added in the previous change to a libc-only section
2014-02-22 08:08:56 +00:00
martin
6868f31bc9
Provide the missing __sync_* ops for earlier arm versions
2014-02-21 21:54:38 +00:00
martin
c2b8beffc9
Provide all __sync_* ops in libc.
2014-02-21 19:05:33 +00:00
martin
dd367c0e94
Provide the missing __sync_* ops for sparc.
2014-02-21 16:21:02 +00:00
martin
de9cd3f918
Add a few missing namespace includes
2014-02-21 16:06:48 +00:00
martin
e39d980f88
Provide 8 and 16 bit sync ops (using 16 bit and 8 bit cas)
2014-02-21 15:51:07 +00:00
martin
181d8404c2
Fix previous: move the alias declaration outside of a #ifdef _LP64
2014-02-21 14:42:09 +00:00
martin
badf055197
Provide 32bit __sync ops based on atomic_cas_32.
2014-02-21 10:52:50 +00:00
martin
3f9f137185
Add missing __sync_lock_test_and_set_* aliases for PR lib/48601
2014-02-21 10:27:34 +00:00
martin
ce6031c29a
Add missing __sync_* ops
2014-02-20 20:39:01 +00:00
martin
566b4de508
Simplify the variants returning a bool
2014-02-20 16:33:23 +00:00
martin
0ac513ac84
Add a few __sync_* and atomic functions.
2014-02-18 16:19:28 +00:00
martin
1a7bc9a039
Make the _and_fetch_8 primitives return the new value they calculated
...
and set - not whatever is found in memory later.
2014-02-18 13:21:04 +00:00
martin
7925d62af9
Do not include <stdbool.h> in the kernel
2014-02-18 12:23:07 +00:00
martin
7c94bf0860
Provide most missing __sync_*64 primitives for i386
2014-02-18 10:16:55 +00:00
matt
a857702bee
switch to unified syntax
2014-01-30 06:39:16 +00:00
joerg
720b2586bd
Include compiler-rt in libc, libm and libkern.
2014-01-29 23:37:18 +00:00
joerg
1f8490615f
Kernel and standalone code uses panic() for broken code.
2014-01-29 22:29:43 +00:00
joerg
80d48117e3
Fix up the remaining __sync_* functions to build with Clang on ARM.
2014-01-29 15:59:11 +00:00
martin
25bbb5795c
Fix a few more copy&pastos - now it actually builds.
2014-01-29 14:49:35 +00:00
martin
428c02d983
Fix copy&pasto
2014-01-29 14:44:32 +00:00
martin
0c99b2643b
Provide _atomic_cas_{16,8}_up
2014-01-29 13:06:36 +00:00
skrll
b39a3f4728
Copyright
2014-01-29 11:34:25 +00:00
skrll
0271e6c132
Provide _atomic_cas_8_up and _atomic_cas_16_up functions
2014-01-29 11:03:04 +00:00
martin
d5d5b0e6b1
Provide _atomic_cas_8_up and _atomic_cas_16_up as assembler functions
2014-01-29 10:20:11 +00:00
joerg
8ee8f2a279
Allow building with clang.
...
XXX __RENAME is currently not allowed for the kernel, so use plain asm.
Clang rejects definitions of builtins, so it doesn't work without.
2014-01-28 21:47:48 +00:00
matt
96e5c530c7
fix c&p bug.
2014-01-27 20:44:29 +00:00
matt
7544d0a287
Return old
2014-01-27 20:01:50 +00:00
matt
40a93006ff
Fix tpyo (add->and)
2014-01-27 18:43:07 +00:00
matt
0e4f0176c5
fix tpyos.
2014-01-27 18:36:52 +00:00
matt
f5dc673f71
Add __sync_<OP>_and_fetch_<N> aliases
2014-01-27 18:36:37 +00:00
matt
56b80ae3d6
Rework so that __sync_fetch_and_<OP>_<N> actually returns a value.
2014-01-27 18:29:47 +00:00
matt
3f7729ad00
Add __sync_fetch_and_<OP>_<N> aliases
2014-01-27 18:12:57 +00:00
matt
739e8f6504
Add __sync_fetch_and_add_8 alias
2014-01-27 18:09:51 +00:00
matt
b139333299
Add __sync_fetch_and_add_4 alias
2014-01-27 18:08:37 +00:00
matt
d9f098af4b
Add _atomic_cas_16_up and _atomic_cas_8_up
2014-01-27 18:05:24 +00:00
matt
335ea84251
Add _atomic_cas_16 and _atomic_cas_8 and their aliases
...
__sync_val_compare_and_swap_2 & __sync_val_compare_and_swap_1
2014-01-27 18:03:44 +00:00
martin
4bb25a32b9
PR port-arm/48543: do provide __ffssi2 as strong alias (in case libgcc.a gets
...
not linked in) for now.
OK: skrll@
2014-01-23 11:45:46 +00:00
joerg
b8bd769d63
Include bsd.own.mk in case it hasn't been yet.
2014-01-16 11:43:49 +00:00
joerg
2356df897c
Use the quad support from compiler-rt for MKLIBGCC=no.
2014-01-15 20:58:09 +00:00
apb
bfdedd98f6
Make strnlen implementation usable from src/tools/compat.
2014-01-09 11:25:11 +00:00
christos
96602b9efa
make it kernel friendly.
2013-12-27 20:26:53 +00:00
christos
967db62434
kernel needs it now too.
2013-12-27 20:24:45 +00:00
joerg
0c87c94ac0
Write out register pairs for strd.
2013-12-17 01:27:21 +00:00
matt
589d55678c
Fix a bug in the divby0 case.
2013-12-12 18:01:14 +00:00
joerg
aceb213538
Allow kernel code to access constant databases by moving cdbr(3) and the
...
required mi_vector_hash(3) into src/common.
2013-12-11 01:24:08 +00:00
skrll
cd08339278
Add __sync_synchronize alias.
2013-12-07 13:09:55 +00:00
joerg
96f5bbd28d
Improve EABI handling of string functions. Most importantly, fix
...
__aeabi_memset, which has the arguments in the wrong order.
2013-12-02 21:21:33 +00:00
joerg
5249048f1e
Fix aliases.
2013-12-02 12:20:44 +00:00