Commit Graph

788 Commits

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