Commit Graph

722 Commits

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