| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
ok deraadt@
|
|
|
|
|
|
|
| |
ENTRY is a trapsled. Fix a few functions which fall-through into an ENTRY
macro. amd64 binaries now are free of double+-nop sequences (except for one
assember nit in aes-586.pl). Previous changes by guenther got us here.
ok mortimer kettenis
|
|
|
|
| |
ok deraadt
|
|
|
|
|
|
| |
sprinkle some bounded attributes while here.
ok deraadt@
|
|
|
|
|
| |
Remainder of the division is already stored in r1 in __divsi3/__udivsi3.
ok kettenis@
|
| |
|
|
|
|
| |
as full memory barriers.
|
|
|
|
|
|
| |
with the RS780E chipset.
OK kettenis@, jsg@
|
|
|
|
|
|
|
|
|
| |
a few performance-critical functions to compiler builtins. Since the
builtins supported by gcc3, gcc4 and clang are not the same, there are
(unfortunately) some compiler checks to make sure we only do the mapping
for builtins that are actually supported by the compiler.
ok jca@, tom@, guenther@
|
|
|
|
|
|
|
| |
operations. This about doubles the routine's throughput.
No binary change on the 32-bit bootblocks
Discussed with miod@ long ago
|
|
|
|
|
|
|
|
|
| |
generates calls to these functions when compiling an armv7 kernel.
Code from NetBSD's unified userland+kernel implementation, with lots of
irrelevant (for us) #ifdefs removed.
ok patrick@, guenther@
|
|
|
|
| |
ok guenther@, patrick@
|
| |
|
|
|
|
|
|
| |
hppa reverse-stack gives us a valuable test case, but most developers don't
have a 2nd one to proceed further with this.
ok kettenis
|
|
|
|
|
|
| |
"the" with the obviously intended word.
Started with a "the the" spotted by Mihal Mazurek.
|
| |
|
|
|
|
| |
ok mpi@ millert@
|
|
|
|
|
|
|
| |
case, by deleting some useless '& of an array' we also eliminate the need
for the casts which prompted the original lint warnings
ok deraadt@
|
|
|
|
|
|
|
|
|
| |
While binutils supports both "unified" and "divided" syntax (defaulting
to divided) the integrated assembler in clang only supports unified names
so switch some files to unified syntax. Similiar changes were made in
bitrig and freebsd. No difference in objdump -d output.
tested on zaurus by deraadt@, ok miod@
|
|
|
|
|
|
|
| |
superflous '*' after '/*' and adding blank after terminating '$'.
Also eases parsing of the lines by simple awk scripts.
Aesthetic approval from tedu@.
|
| |
|
|
|
|
|
| |
This codepath was removed in the NetBSD code this is derived from back
in 2003 and was removed in Bitrig earlier this year. No binary change.
|
|
|
|
| |
<sys/types.h>. kthxbye
|
|
|
|
| |
ok dlg@ mpi@ bcook@ millert@ miod@
|
|
|
|
| |
ok kettenis
|
|
|
|
|
|
|
|
|
|
| |
strchr/index, strrchr/rindex, and strlen that provide a significantly
faster performance than our previous .c or .S implementations. Based
on NetBSD's code.
Tested with different amd64 CPUs.
ok deraadt@ mikeb@
|
|
|
|
| |
ok deraadt
|
|
|
|
|
| |
logic writes balony. Hunting with tedu, mlarkin, and final bit spotted
by naddy in freebsd's version.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
KASSERT() is annoying as it only prints the expression as a string. If you
(developers) want to know a little more information, you have to do:
#ifdef DIAGNOSTIC
if (bad)
panic(...);
#endif
KASSERTMSG() replaces it into a single line:
KASSERTMSG(!bad, ...);
Taken from NetBSD.
(There is a concern that KASSERT() messages are too long; consume more memory,
and not friendly for small monitors. This have to be considered & revisited
later.)
"Like" from henning@
Man page review & advices from jmc@ and schwarze@
|
|
|
|
| |
of softfloat.c shortly.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Modern compiler toolchains are capable of optimizing even across
translation unit boundaries, so simply moving the memory clearing into
a separate function is not guaranteed to clear memory.
To avoid this, we take advantage of ELF weak symbol semantics, and
insert a call to an empty, weakly named function. The semantics of
calling this function aren't determinable until load time, so the
compiler and linker need to keep the memset() call.
There are still ways a toolchain might defeat this trick (e.g.,
optimistically expecting the weak symbol to not be overloaded, and
only calling memset() if it is; promoting weak symbols to strong
symbols at link-time when emitting a static binary because they won't
be interposed; implementing load-time optimizations). But at least
for the foreseeable future, these seem unlikely.
ok deraadt
|
| |
|
|
|
|
|
|
|
| |
this hardware alive is becoming increasingly difficult, and I should heed the
message sent by the three disks which have died on me over the last few days.
Noone sane will mourn these ports anyway. So long, and thanks for the fish.
|
|
|
|
|
| |
libkern srandom() API since it is not suitable for this use.
ok kettenis miod
|
|
|
|
| |
ok guenther
|
|
|
|
|
| |
from FreeBSD
ok mikeb@ haesbaert@ deraadt@
|
| |
|
| |
|
|
|
|
| |
bcopy() and memcpy() wrappers.
|
|
|
|
| |
memcpy() or memmove().
|
|
|
|
|
| |
and memmove() to be incorrect for copies of 32 bytes or more, when the source
and destination addresses are nicely aligned.
|
|
|
|
| |
Do not bogusly return NULL if dst == src (spotted by tedu@)
|
|
|
|
| |
Return the original destination pointer in memcpy() and memmove().
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|