Commit Graph

908 Commits

Author SHA1 Message Date
riastradh 9fe68096f1 Set *endptr in all paths out of strtoul and family.
XXX pullup-6
XXX pullup-7
2016-11-05 21:11:30 +00:00
christos a9abaa493d Add strchrnul 2016-10-12 20:01:40 +00:00
scole b83ebeba7f PR port-ia64/51261
Imported from FreeBSD with a minor change or two
2016-08-05 15:06:02 +00:00
pgoyette fc18a7c1c6 Fix the previous fix - there's only one _node suffix here! 2016-06-28 06:47:35 +00:00
pgoyette 2e711daeb9 Missed a couple of function-call renames in previous 2016-06-28 05:21:15 +00:00
pgoyette e987c735b0 The local copy of rb_tree code has been unused for quite some time. So
we can just remove it, and adjust callers to use the "real" rbtree
function names.

Addresses PR lib/44090
2016-06-28 05:18:11 +00:00
wiz b17d0f9679 Punctuation nits.
(adding space makes sure they are not marked up)
2016-05-31 09:31:13 +00:00
pgoyette 66c6aeeb7a Add prop_array_add_cstring{,_no_copy} utility functions as suggested in
PR lib/46723 using the patch provided.  (Header file updates are mine.)
2016-05-31 09:29:25 +00:00
nakayama 28272b5830 Use sparc64 code always on 32-bit sparc64 kernels since %psr read/write
instructions used in sparc's atomic_cas.S don't exist in SPARC-V9.
2016-05-29 05:10:34 +00:00
christos 52ae8af955 fix infinite recursion through thr_getspecific 2016-02-28 02:56:39 +00:00
joerg 2988768446 Include the C11 atomic builtin alias. 2016-02-27 19:20:01 +00:00
joerg b1b09da029 When using clang, do not use the sparc64 code as it doesn't provide the
full set of symbols and clang in -m32 defaults to sparcv8, not
sparcv8plus.
2016-02-27 19:19:33 +00:00
joerg d88c8eaaf4 Include C11 load/store helpers. 2016-02-27 19:18:29 +00:00
dholland 7fd2abea9a whitespace 2016-02-08 05:27:24 +00:00
dholland c83d65245f Needs prop_array.h to compile. 2016-01-22 23:03:46 +00:00
christos 98e9d5f901 Put back the rump-disabling of mcount for librump. Otherwise the world
breaks because the mcount assembly code is written to call __mcount via
the PLT.
2016-01-11 01:57:12 +00:00
ryo c2acaf5fa5 __mcount_lock is moved to MI from MD.
because it is needed for all MULTIPROCESSOR arch, but it is exists only in i386 and amd64.

ok christos@, on tech-kern@
2016-01-10 09:04:32 +00:00
skrll ed17c7296b Use gcc 4.4 and later operation for nand, i.e.
*ptr = ~(tmp & value) instead of *ptr = ~tmp & value

There was also another bug in sync_fetch_and_nand_8 which I've also fixed.

PR port-arm32/50513: Incorrect logic for atomic_nand_xx.S
2015-12-11 12:41:10 +00:00
christos 01e84cc634 comment out 0{b,B} handling. 2015-11-13 16:02:07 +00:00
christos fd6ed0e3f6 Fix capitalization 2015-11-12 17:31:43 +00:00
christos 557b696a7a Recognize 0[bB] as binary (base 2) 2015-11-12 17:23:51 +00:00
nakayama 2c01e1e121 Fix 64-bit atomic operations on 32-bit kernel and userland, and add
support for missing __sync_*_8 builtins.
2015-10-18 02:28:07 +00:00
phx 028fd4a71a Fixed typo: propertly -> property. 2015-08-20 15:55:09 +00:00
mlelstv 2bb05299a6 fix comment 2015-07-10 20:16:01 +00:00
isaki 3940a87a45 Improve the code in __sync_bool_compare_and_swap_{1,2,4}.
- bccs is smaller and faster than bcc(.w) in this case.
- it can be used movql in this case (assembler optimise it though).
2015-07-04 07:11:45 +00:00
isaki 55d302de22 atomic_cas_{8,16}:
- Correct the wrong offset in stack.
__sync_bool_compare_and_swap_{1,2,4}:
 - Correct the wrong offset in stack.
 - D3 must be preserved in subroutines.
PR/49995.
2015-07-04 06:56:29 +00:00
matt 1ce375c3b8 Always use sync if mips3 or later or not using O32 ABI. (A little redundant
since not using O32 means you are using mips3 or later.)
2015-06-23 20:56:17 +00:00
matt bb7982ddd7 #include "assym.h"
Don't include "assym.h" with _RUMPKERNEL defined.
2015-06-22 06:06:02 +00:00
matt e4cf7e4e27 Back out last change; fixed in the correct place. 2015-06-07 15:06:24 +00:00
matt 91746eb77c Use ${COPT} so it properly emits the right features doing MKCOMPAT 2015-06-07 15:05:34 +00:00
joerg 33e2d9fc4a Require ARMv5TE to assemble. 2015-06-07 11:46:56 +00:00
joerg 2b71fd9719 Add ARM EABI aliases for aligned arguments. 2015-06-07 11:41:59 +00:00
matt ac748598de Include OCTEON support for syncw and saa/saad (Store Atomic Add). 2015-06-01 23:16:54 +00:00
matt 6ac68d00a5 Don't compile if there is a macro of the same name. 2015-05-29 19:39:41 +00:00
matt 1d43c96919 force 2nd to argument to unsigned byte value.
(found by t_strchr and t_strrchr tests)
2015-05-26 06:55:08 +00:00
justin d392f6aa93 Do not set CRT_ALIAS for rump kernel; symbols provided by toolchain 2015-05-18 08:24:10 +00:00
justin 39470f7e73 It is just the __ffssi2 alias we do not want in rump kernel 2015-05-17 22:14:38 +00:00
justin 75c54c2178 Move arm sync_* changes to Makefile.inc 2015-05-17 22:08:24 +00:00
justin b4bb74214e Do not build arm toolchain symbols in the rump kernel
These symbols will be provided at link time and will be
duplicate symbols in rump kernel and libc if defined.

Many have been fixed previously, but these were missed
as did not have a test.
2015-05-17 20:57:11 +00:00
christos 72b528eece Now that _PROP_ISSPACE does not include the EOF check, put the check for
EOF inside the loop. Also fix another unbounded loop that did not check for
EOF. From Mateusz Kocielski
XXX: pullup-7
2015-05-12 14:59:35 +00:00
christos 272b1fe359 Don't treat NUL (EOF) as SPACE. All the code that uses _PROP_ISSPACE() checks
explicitly for _PROP_EOF() anyway, and this can be abused to cause run beyond
the end of buffer DoS (Mateusz Kocielski)
XXX: pullup-7
2015-05-11 16:50:35 +00:00
christos ad3d79508d Limit size of xml buffer for userland requests (From Mateusz Kocielski)
XXX: pullup-7
2015-05-11 16:48:34 +00:00
christos 35d355f3ea - new test for strtoi
- namespace protection for strto{i,u}
- separate manpages for strto{i,u} from the ones for strto{u,}l
From: Kamil Rytarowski
2015-05-01 14:17:56 +00:00
riastradh 808c0b52c7 Sort includes. 2015-04-21 12:47:33 +00:00
skrll a2e01a4bd7 Use the right register in previous. Spotted by matt@ 2015-04-17 07:15:02 +00:00
skrll bbef540942 ARM ARM D7.3.2 - ensure all previous accesses are observed before
the lock is cleared
2015-04-17 07:03:40 +00:00
justin 6324ab4097 On big endian machines needs to include sys/endian.h for le32dec
Mainly affects cross builds on big endian; tested on FreeBSD mips
and Linux ppc.
2015-04-15 08:31:05 +00:00
matt 2d9adf0d04 Switch to new ABI (a0/a1 replace v0/v1) 2015-03-27 06:42:37 +00:00
justin 8f795c07a7 Don't build the __eabi_ aliases in the arm rump kernel.
These are provided by libc in userspace, so leave out of kernel
2015-03-26 13:34:51 +00:00
riastradh 5a2ca44c60 Switch to the suggested constant-time result conversion.
Not hard to find CPU/compiler combinations with branches for `!res'.

While here, make everything unsigned for good measure.
2015-03-18 20:11:35 +00:00