Age | Commit message (Collapse) | Author |
|
ssh tools. The dynamic objects are entirely ret-clean, static binaries
will contain a blend of cleaning and non-cleaning callers.
|
|
ok miod@
|
|
Userland code compiled in a normal fashion picks up the htonl(),
htons(), ntohl(), ntohs() macros implemented by endian.h. The
functions in libc are effectively unused. Keep the MI functions
in case something looks for the symbols in libc or plays games
with #undef, but change them to wrap the implementation from
endian.h.
tweaks suggested by claudio@, ok miod@
|
|
NetBSD.
|
|
need any of its contents.
ok claudio@ kettenis@
|
|
abuse END macros to place the number at the end of the syscall wrapper
rather than in the middle of it, so that there is no need to branch
around it; this saves two instructions per syscall number >= 128.
While there, also tweak the error return (SET_ERRNO_AND_RETURN) to only
return a 64-bit value for lseek; this saves another instruction for
all other syscalls.
With input from guenther@; "Anything that makes the machine faster" deraadt@
|
|
|
|
No shlib_version change needed, jumping on the version bump of the mkdtems
addition.
|
|
put their macros, and also turn a few "EXIT" into "END" for consistency with
other platforms. NFCI
ok kettenis@ deraadt@
|
|
Required for strict-alignment architectures and a good idea on others.
ok deraadt@
|
|
arguments, so we have to cope.
|
|
|
|
with {uint offset, uint syscall#} entries in libc & ld.so.
In libc a few syscall# entries (break, sigprocmask, _tfork, _threxit)
are duplicated because additional or inline uses occur (that situation
is handled elsewhere)
ok kettenis
|
|
non-libc users. This is a two-liner macro anyway, and this will make
deraadt@'s future changes in this area easier to make. NFC
|
|
the few assembler versions as has been done on other *BSD systems; this
function (modf) turns out to be non-trivial enough, having only one
known-to-work version is preferrable.
Reported by Willemijn Coene.
|
|
with an ENTRY(), so it needs its own endbr64 for IBT
ok deraadt@
|
|
* with IBT, it can't return via an indirect jump as that would
require the *caller* to have an endbr64
* to support a potential vmspace-sharing implementation, keep the
retguard value in an arg register across the underlying syscall
ok kettenis@ deraadt@
|
|
that the removal of the off_t padding, amd64 syscalls no longer passed a 7th
or later argument. We overlooked that syscall(2) bumps the arg count by one,
so six argument calls like SYS_sysctl still pass an argument on the stack.
So, repush the 7th argument so it's at the expected stack offset after the
retguard register is pushed.
problem reported and ok bluhm@
|
|
<machine/asm.h> they are already get the necessary "bti c" instructions.
Passi the -mmark-bti-property option to mark the corresponding object
files as having BTI support.
ok deraadt@
|
|
return register to -1 in the syscall error path ("for lseek").
removal of the misleading __syscall() mention requested by deraadt@
ok deraadt@
|
|
|
|
|
|
ok cheloha@, semarie@
|
|
and make them behave as intended again.
The existing constraints are too weak; this used to work in older days, but
got broken when the system compiler was updated to gcc 4 (or maybe even gcc 3).
|
|
fetch them correctly when building PIC.
ok kettenis@
|
|
a seatbelt, because libc build corruption is too painful.
|
|
|
|
Since we got rid of padded syscalls we have enough registers to do this.
ok deraadt@ ok kettenis@
|
|
any changes not taken noted on tech, but chiefly here i did not take the
cancelation - cancellation changes;
|
|
ok deraadt@
|
|
incompatible with executable-only code.
ok deraadt@, guenther@
|
|
ok guenther@, deraadt@
|
|
is ELF" world. Eliminate use of them in landisk code.
ok deraadt@
|
|
is ELF" world. Eliminate use of them in amd64, arm64, armv7, i386,
macppc, mips64, and sparc64 code.
ok deraadt@ jca@ krw@
|
|
is ELF" world. Eliminate use of them in powerpc64 code.
ok gkoehler@
|
|
is ELF" world. Eliminate use of them in m88k code.
ok aoyama@
|
|
Compiling libc on i386 results in compiler warnings for bcmp, bzero, bcopy,
brk, and sbrk. Use ENTRY_NB instead of ENTRY to avoid this.
ok jca millert
|
|
NB for "No Binding". This gets us rid of clang-13 warnings about
a global symbol redefined as weak. Mostly a copy of what guenther@
already implemented on other archs. ok guenther@ tb@
|
|
_C_LABEL() was useful in the a.out->ELF transition days, way before
RISC-V was a thing.
Also drop uses of _ASM_LABEL() while here, suggested by guenther@
ok guenther@
|
|
Tested by gkoehler@.
ok gkoehler@
|
|
tweaks from cheloha@; ok deraadt@, sthen@, cheloha@
|
|
for the rounding functions.
Input from kettenis@,
OK miod@
|
|
0-127, where immediate addressing can be used to load the system call number
in r0, rather than performing a memory load using pc-relative addressing.
No functional change, but rm(1) runs a couple cycles faster per file now.
|
|
ok miod@ guenther@
|
|
setting the binding to global (NB == "no binding"), as clang 13 is
now warning about changing the binding from global to weak. Use
them for bcopy, brk, and sbrk.
Add the '.L' prefix to internal labels in the bcopy implementation
to remove them from the symbol table
Start using the MI DEFS.h: delete the #defines from powerpc/SYS.h
that the MI DEFS.h provides and switch from SYS.h to DEFS.h in files
that don't do syscalls. Use END_BUILTIN from the MI DEFS.h for ffs.
ok gkoehler@
|
|
|
|
|
|
symbol table
ok kettenis@ miod@
|
|
add _?ENTRY_NB to asm.h, switch libc's asm bits to the generic
DEFS.h, and use ENTRY_NB as necessary.
Also, give sizes to the htonl/htons symbols and mark them as weak.
ok kettenis@ miod@
|
|
Put .L_setjmp_magic in the correct ELF section for duplicate suppression
Rename the "botch" label to delete it from the symbol table
ok kettenis@ miod@
|