Commit Graph

765 Commits

Author SHA1 Message Date
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
lneto
c4a02e0a12 changed lua_Number to int64_t 2013-12-02 04:39:10 +00:00
joerg
5ce8d6df3c Use explicit form of register pair operations by specifying both. 2013-11-30 21:09:11 +00:00
joerg
96195b9815 Explicitly name the register pairs. 2013-11-30 20:43:53 +00:00
joerg
d0dcd65c88 Use PLT_SYM. 2013-11-30 20:20:42 +00:00
jakllsch
0182da6369 Remove x86_64 bzero.S; which since 2009 has only contained instructions
that it should be removed in 2010.
2013-11-23 16:57:52 +00:00
matt
918e319dfb Add support for the gcc __sync builtins.
Note that these need earmv6 or later to get the ldrex/strex instructions
2013-11-08 22:42:52 +00:00
christos
4fbaa41dd1 mark variables as used 2013-11-07 17:26:13 +00:00
rmind
ecc1424a7c murmurhash2: add an optimised path for the aligned pointer case. 2013-10-26 21:06:38 +00:00
christos
7c7c6fd125 remove unused 2013-10-20 21:16:54 +00:00
martin
5fb50cc6c4 Make this compilable with gcc 4.8.1 without options DIAGNOSTIC. 2013-10-18 18:26:20 +00:00
skrll
d3b6b7a500 More (stylistic) whitespace. 2013-09-30 13:07:51 +00:00
skrll
fff36bdac8 Appease new gas 2013-09-30 12:31:27 +00:00
joerg
4d12bfcd15 Pass PICFLAGS down to cc-as-as and use __PIC__ to decide if it is small
vs big PIC mode. Retire -DPIC and -DBIGPIC.
2013-09-12 15:36:14 +00:00
matt
47c1ea4ca3 Remove movw/movt due to linker problems.
Check for 0 divisor and __aeabi_idiv0 if needed (EABI && _LIBC only).
2013-09-09 07:33:54 +00:00
matt
4e222a409b s/__libc/_libc/ 2013-09-09 00:34:10 +00:00
matt
0e3a78e197 Support using hwdiv instructions if those are available.
But only for EABI.
2013-09-08 13:24:16 +00:00