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
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
chs
18ec38ea7c
switch to ELF naming for local labels.
2013-09-07 19:06:29 +00:00
matt
ca7975ae61
Use __ARM_EABI__ and new __UNWIND_TABLES__ to decide when to use .cfi ops
2013-09-05 05:15:47 +00:00
riastradh
3db7caeeb3
Comment on possible data-dependent branch in `!res'.
2013-08-28 19:31:14 +00:00
riastradh
1239c2bb08
Publish explicit_memset and consttime_memequal in userland libc.
...
Remove the double-underscore from the userland versions, and do the
weak alias dance instead, now that these are public parts of libc.
As discussed on tech-userlevel:
https://mail-index.netbsd.org/tech-userlevel/2013/06/24/msg007843.html
(option 3)
2013-08-28 17:47:07 +00:00
riastradh
495fdb7e9a
Make explicit_memset match memset's return value.
2013-08-28 15:46:23 +00:00
riastradh
cc79193075
Fix sense of consttime_memequal and update all callers.
...
Now it returns true (nonzero) to mean equal and false (zero) to mean
inequal, as the name suggests.
As promised on tech-userlevel back in June:
https://mail-index.netbsd.org/tech-userlevel/2013/06/24/msg007843.html
2013-08-28 15:24:41 +00:00
matt
5fa3a11dc7
move a misplaced #endif
2013-08-25 06:15:06 +00:00
matt
3202e91ce2
Don't include .cfi info if _KERNEL || _STANDALONE
2013-08-22 19:25:00 +00:00
matt
879bc2893e
Use __section(".test.startup") for the init routines
2013-08-21 03:00:56 +00:00
matt
afb7a3b050
write of final NUL in strlcpy doesn't need to be post-incremented
2013-08-20 21:37:39 +00:00
matt
61e4023f77
If compiling standalone with Thumb, use the thumb version instead of the
...
naive version.
2013-08-20 21:35:24 +00:00
matt
bb45e513c6
Thumb versions of strcpy/strlcpy/strncpy
2013-08-20 21:32:50 +00:00
matt
e61510c225
strlcat_arm.S is smaller than strlcat_naive.S so always use it.
2013-08-20 21:08:54 +00:00
matt
1a52a42b91
Add a missing it gt before movgt for thumb
2013-08-20 16:34:47 +00:00
matt
59eed4d06e
Use the arm versions of strnlen if compiling thumb2
2013-08-20 08:08:59 +00:00
matt
04d357d985
Use the arm versions of strlen/strchr/strrchr if compiling thumb2
2013-08-20 08:07:30 +00:00
matt
7477ad6ac7
thumbify (part2)
2013-08-20 08:06:30 +00:00
matt
b628072a9d
swap r1 & ip
...
use adds, eors, etc.
teq -> cmp
2013-08-20 08:05:49 +00:00
matt
7eb7e9aa67
Push two registers to keep stack aligned.
2013-08-20 07:52:31 +00:00
matt
3444a5b35b
Unless we are using an XSCALE, default to the normal arm version of memcpy.
2013-08-20 07:25:52 +00:00
matt
4ca1b3cb84
Add two thumb2 bits.
2013-08-19 17:50:04 +00:00
matt
c2b4a072b1
Missing one teq -> cmp
2013-08-19 17:41:47 +00:00
matt
5df59dfb3f
Swap use of r1 and ip
...
teq -> cmp.
add s to few instructions
(thumbify part 1)
2013-08-19 17:38:47 +00:00
matt
ddea6e9586
cbnz/cbz can not branch backwards so nuke 'em.
...
Use the same register usage in strlen as in strnlen
2013-08-19 17:02:25 +00:00
matt
3d4b320a67
Add END()
2013-08-19 06:23:59 +00:00
matt
5958fbf1be
fix cfi_register -> cfi_offset
2013-08-19 06:11:20 +00:00
matt
1045cebc5a
Rework to allow thumb armv7 compilation.
...
Add atomic_simplelock.c for thumb
2013-08-19 03:55:12 +00:00
matt
578c0a5078
Thumbify (and use .cfi ops)
2013-08-19 03:54:15 +00:00
matt
556b3d5814
thumbify
...
add .cfi ops (for thumb)
2013-08-19 03:51:04 +00:00
matt
3302b194a2
This is ARM only
2013-08-19 03:47:06 +00:00
matt
14ba29f9a7
Add thumb version
...
Use STRONG_ALIAS
2013-08-19 03:44:47 +00:00
matt
a546978def
Use STRONG_ALIAS
...
Add thumb variation
2013-08-19 03:44:18 +00:00
matt
d2610c9da2
Add .cfi ops
...
Thumbify
2013-08-19 03:43:07 +00:00
matt
eeddcf15a5
Add cfi ops.
...
Thumbify
2013-08-19 03:27:34 +00:00
matt
4f50540e20
Add END() and clarify thumb/arm
2013-08-19 02:55:19 +00:00
matt
d0a4289725
Thumbify
2013-08-19 02:54:02 +00:00
matt
70e4c7e047
Add END()
2013-08-19 02:37:12 +00:00
matt
de1d51c4ce
Thumbify
2013-08-19 02:36:27 +00:00
matt
f66bbc4e80
ip -> r2
...
teq -> cmp
2013-08-19 02:24:09 +00:00
matt
7ed75e50a6
Thumbify
2013-08-19 02:22:25 +00:00
matt
d3ce3f542d
ip -> r2
...
teq -> cmp
2013-08-19 02:20:06 +00:00
matt
8ba242506b
Thumbify
2013-08-19 02:13:13 +00:00
matt
414db3a8ba
Use ip as a temporary
2013-08-19 02:11:03 +00:00
matt
0b070291c7
Change previous use of r2 to r3
2013-08-19 02:08:41 +00:00
matt
ad93040ca6
teq -> cmp
...
ip -> r2
add/sub -> adds/subs
(thumbify part 1)
2013-08-19 02:07:22 +00:00
matt
4373b1a3d8
For EABI, add .cfi ops
2013-08-19 01:17:32 +00:00
matt
9dae71ed91
Add .cfi for __ARM_EABI__
...
Thumbify
2013-08-19 01:12:08 +00:00
matt
b4e387d260
Add END(memcpy)
2013-08-19 01:08:53 +00:00
matt
c2438985ca
For Thumb, use naive version
2013-08-19 01:08:29 +00:00
matt
f37c7d04a2
Thumbify
2013-08-19 00:56:12 +00:00
matt
4640cf4296
Add .cfi ops if EABI.
...
Thumbify.
2013-08-19 00:36:29 +00:00
matt
dcdd476662
Thumbify
2013-08-19 00:35:06 +00:00
matt
034de21d59
Add a hidden version for libpthread.
2013-08-16 01:47:41 +00:00
matt
48a3833972
When compiling for Thumb1, the swp instruction is not availble. So this
...
stub is added to provide __cpu_simple_lock and __cpu_simple_lock_try via
thumb interwork support. It is compiled with -mno-thumb.
2013-08-15 22:42:50 +00:00
matt
f376e753f4
Only assemble if !__ARM_EABI__
2013-08-15 21:40:11 +00:00
matt
c4948bca36
Use mvnge AHI, #0x80000000 instead of mvnge AHI, ALO, lsr #1
2013-08-13 15:52:00 +00:00
matt
1271d298bd
0x800000000 -> 0x80000000 (one too many zeroes)
2013-08-13 15:46:31 +00:00
matt
11f1fec6ba
Fix movlt
2013-08-13 15:45:30 +00:00
matt
85779a4007
andlt -> movlt
2013-08-13 15:44:35 +00:00
matt
47ead0f271
Convert some more conditional instructions to unified syntax
2013-08-11 05:02:35 +00:00
matt
a1a64bab57
Switch to unified syntax
...
use RET/RETc
use push/pop
2013-08-11 04:56:32 +00:00
matt
c111670598
Use foo{s} since it reduces the ifdefs for thumb
2013-08-11 04:41:17 +00:00
matt
d650209479
Make these under Thumb2
2013-08-10 19:59:21 +00:00
matt
8f8ed13c79
Never modify NLO/NHI (r2,r3) only LO/HI (r0,r1) so subsequent loops will work.
2013-08-10 19:02:22 +00:00
matt
d86c65aadb
Use r2 instead of ip
2013-08-10 18:45:12 +00:00
matt
b8284f6dcd
Use subs/sbc
...
Use push/pop
Don't adjust return for atomic_dec_64 since it's void and returns nothing
2013-08-10 18:40:19 +00:00
matt
617628a5a2
use push/pop
2013-08-10 18:39:48 +00:00
matt
8aac5a9bd0
Use push/pop
2013-08-10 18:39:25 +00:00
matt
fc14a14e9e
use push/pop
2013-08-10 18:39:07 +00:00
matt
edb257bd2d
cmpne -> cmp
...
Use push/pop
2013-08-10 18:38:33 +00:00
matt
d6ef347e93
Don't adjust return of atomic_inc_64 since it's void and doesn't return
...
anything.
2013-08-10 18:32:06 +00:00
matt
be0a794afa
Fix add -> adds
2013-08-10 18:28:15 +00:00
pgoyette
b18fe62e8a
Now that all of the macros are enclosed in "do { ... } while 0" we can
...
remove unneded parenthesization of their invocations.
OK mrg@
2013-08-08 22:18:20 +00:00
agc
148723966e
Get the correct inttypes.h header, so this can build on !NetBSD.
2013-08-08 16:43:13 +00:00
mrg
1b0c094837
apply some do { ... } while (0) so that macros aren't broken,
...
completing the previous change.
2013-08-08 04:32:43 +00:00
pgoyette
3386094b43
The PUT* things are macros. Use { ... } to make sure they expand correctly.
2013-08-07 23:48:13 +00:00
pgoyette
a4db567a02
Fix boundary condition in multi-line format. When the '=' following a
...
field name exactly filled a line, the back-up logic failed and really
messed up the formatting!
2013-08-07 22:37:28 +00:00
apb
3be9df0daa
If HAVE_SNPRINTB_M is defined, then do not define the snprintb() and
...
snprintb_m() functions. This should allow this file to be compiled
from a tools build regardless of whether or not the host defines these
functions.
2013-08-06 22:02:50 +00:00
matt
8b64a4fc92
Only use MACHINE_ARCH if !_STANDALONE and CPPFLAGS/CFLAGS/CPUFLAGS don't
...
contain -mcpu or -march
2013-08-06 20:49:15 +00:00
matt
1240752cc0
Select ldrex/strex if ${MACHINE_ARCH:Mearmv[67]*}
2013-08-06 20:37:22 +00:00
matt
cb2ad9b126
With these changes, they now produce identical binary as before the coldfire
...
changes.
2013-07-19 16:42:12 +00:00
matt
1d398a1789
Adjust for Coldfire
2013-07-18 22:42:50 +00:00
matt
f320c653c7
invert tests ${MACHINE} != "m68000" -> ${MACHINE} == "m68k"
2013-07-18 19:49:00 +00:00
matt
65726deb61
Add END(func)
...
Fix some straggling %r@<eol> to (%r)
2013-07-16 23:24:18 +00:00
matt
07a0a32561
Convert to normal Motorola syntax for addressing.
...
%r@ -> (%r)
%r@- -> -(%r)
%r@+ -> (%r)+
%r@(n) n(%r)
etc.
No object differences.
2013-07-16 20:49:41 +00:00
uwe
d399d324be
Use "unsigned int" instead of "u_int" to make it easier to steal.
...
u_int is out of fashion anyway...
2013-07-09 16:10:17 +00:00
matt
9137531a8c
remove branch prediction hint from bdnzt
2013-07-04 20:57:59 +00:00
joerg
e49f3fb2ce
Don't pick up strcmp as macro from libkern.h.
2013-07-01 20:51:59 +00:00
rmind
4080fc40d9
RUMP fix: ifdef weak alias. Pointed out by martin@.
2013-06-30 12:20:32 +00:00
riastradh
82db4b9858
Replace consttime_bcmp/explicit_bzero by consttime_memequal/explicit_memset.
...
consttime_memequal is the same as the old consttime_bcmp.
explicit_memset is to memset as explicit_bzero was to bcmp.
Passes amd64 release and i386/ALL, but I'm sure I missed some spots,
so please let me know.
2013-06-24 04:21:19 +00:00
matt
d4c5b4f6c6
Add support for __ARM_ARCH_EXT_IDIV__ which is set for those cores
...
with hardware divide instructions. Note that gcc 4.5.x doesn't support
this so this is just latent. gcc 4.7.x does.
2013-06-20 07:16:23 +00:00
christos
b9d62bd6aa
no need for the local defs of he enc functions; compat_defs.h provides them.
2013-06-09 19:46:56 +00:00
christos
af7cd4f35f
Use be{32,64}enc, suggested by joerg.
2013-06-09 02:58:58 +00:00
christos
ff7cb014e8
PR/47908: Gary Grebus: SHA256_Transform and SHA512_Transform are called
...
by openssl with unaligned buffers. All other Transforms can handle unaligned
buffers so make these handle them too.
XXX[1]: any better fixes are welcome
XXX[2]: pullup-5, pullup-6
2013-06-07 22:40:34 +00:00
joerg
e0ac190e1e
Provide explicit LC_C_LOCALE accessor and drop the various NULL checks.
...
Provide LC_GLOBAL_LOCALE in a way that works with all locale functions.
Merge constant data used by the initial global locale and the C locale.
Drop function call layer for _current_locale() and directly return the
locale reference, not a pointer to it. Use protected access for global
variables, so that libc references can avoid the GOT overhead.
2013-05-17 12:55:56 +00:00
matt
d1e50f81fb
Don't worry about divide by 0 for kernel or standalone
2013-05-09 15:03:40 +00:00
skrll
6fec03973c
Don't use old syntax - it breaks the build. hi matt.
2013-05-09 07:12:59 +00:00
matt
8ef5fb1f7f
When using EABI, call __aeabi_{i,l}div0 when diving by 0.
2013-05-08 05:13:56 +00:00
skrll
f9f1c0a469
Whitespace.
2013-05-05 19:02:22 +00:00
joerg
323be87542
Restore standalone strtol/strtoul for citrus for now.
2013-04-26 21:20:47 +00:00
skrll
2d688776a6
Fix logic inversion.
2013-04-19 05:36:16 +00:00
joerg
a67fde0356
Add strtol_l and friends. Switch _citrus_bcs_strtol to use plain
...
strtol_l unless in tools mode. Add note to retire the BCS code on the
next libc major bump.
2013-04-16 21:44:06 +00:00