#
eb1d3726 |
| 18-May-2023 |
guenther <guenther@openbsd.org> |
memmove() entry point is declared with NENTRY() and isn't consecutive with an ENTRY(), so it needs its own endbr64 for IBT
ok deraadt@
|
#
2f731f58 |
| 02-Jan-2022 |
guenther <guenther@openbsd.org> |
Don't use *ENTRY_NB() with END_BUILTIN(), at least yet
Problem noted by naddy@
|
#
ec0f1ad6 |
| 01-Jan-2022 |
guenther <guenther@openbsd.org> |
Add ENTRY_NB() macro for doing an ASM function entry without setting the binding to global (NB == "no binding"), as clang 13 is now warning about changing the binding from global to weak.
This first
Add ENTRY_NB() macro for doing an ASM function entry without setting the binding to global (NB == "no binding"), as clang 13 is now warning about changing the binding from global to weak.
This first pass does amd64 and sparc64 and pulls DEFS.h out of the per-arch directory to a common directory; others to follow
ok kettenis@
show more ...
|
#
a5910b4f |
| 10-Jul-2018 |
deraadt <deraadt@openbsd.org> |
In asm.h ensure NENTRY uses the old-school nop-sled align, but change standard ENTRY is a trapsled. Fix a few functions which fall-through into an ENTRY macro. amd64 binaries now are free of double+
In asm.h ensure NENTRY uses the old-school nop-sled align, but change standard 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
show more ...
|
#
631951aa |
| 03-Jul-2018 |
mortimer <mortimer@openbsd.org> |
Add retguard macros for libc. ok deraadt
|
#
ea6088e7 |
| 29-Nov-2017 |
guenther <guenther@openbsd.org> |
clang doesn't propagate attributes like "asm labels" and "visibility(hidden)" to builtins like mem{set,cpy,move} and __stack_smash_handler. So, when building with clang, instead mark those as protec
clang doesn't propagate attributes like "asm labels" and "visibility(hidden)" to builtins like mem{set,cpy,move} and __stack_smash_handler. So, when building with clang, instead mark those as protected visibility to get rid of the PLT relocations. We can't take the address of them then, but that's ok: it's a build-time error not a run-time error.
ok kettenis@
show more ...
|
#
b4551fde |
| 14-Nov-2015 |
guenther <guenther@openbsd.org> |
Split the non-syscall ASM bits from SYS.h into DEFS.h and use that in the non-syscall .S source
ok millert@ miod@
|
#
9b9d2a55 |
| 31-Aug-2015 |
guenther <guenther@openbsd.org> |
Add framework for resolving (pun intended) libc namespace issues, using wrapper .h files and asm labels to let internal calls resolve directly and not be overridable or use the PLT. Then, apply that
Add framework for resolving (pun intended) libc namespace issues, using wrapper .h files and asm labels to let internal calls resolve directly and not be overridable or use the PLT. Then, apply that framework to most of the functions in stdio.h, string.h, err.h, and wchar.h. Delete the should-have-been-hidden-all-along _v?(err|warn)[cx]? symbols while here.
tests clean on i386, amd64, sparc64, powerpc, and mips64
naming feedback from kettenis@ and millert@ ok kettenis@
show more ...
|
#
81af83dd |
| 29-May-2015 |
uebayasi <uebayasi@openbsd.org> |
Sprinkle END() in some straightforward *.S files that have ENTRY(). The resulting *.o have "FUNC" symbols with size set.
|
#
5b859c19 |
| 30-Nov-2014 |
deraadt <deraadt@openbsd.org> |
restructure libc/string + libc/arch/*/string coperation regarding (potentially) MD versions (function dependent, not filename dependent) split out memcpy/memmove/bcopy and strchr/index/strrchr/rindex
restructure libc/string + libc/arch/*/string coperation regarding (potentially) MD versions (function dependent, not filename dependent) split out memcpy/memmove/bcopy and strchr/index/strrchr/rindex Bring back amd64 .S versions
And the final touch: switch all architectures temporarily to MI memcpy.c, which contains syslog + abort for overlapping copies. A nice harsh undefined behaviour. We will clean the entire userland of the remaining issues in this catagory, then switch to the optimised memcpy which skips the memmove check.
I tried to cut this change into pieces, but testing each sub-step on every architecture is too time consuming and mindnumbing. ok miod
show more ...
|
#
d1a57517 |
| 20-Nov-2014 |
deraadt <deraadt@openbsd.org> |
One of these optimized stubs creates some incredibly subtle damage, causing as(1) to create a wrong nop-sled for text segment aligns. Revert, until it is found and fixed.
|
#
71cd5ab5 |
| 20-Nov-2014 |
reyk <reyk@openbsd.org> |
Add amd64 assembler versions of some standard functions to libc. The code is already used in the kernel and the files are unmodified copies from src/sys/lib/libkern/arch/amd64/. Depending on the fu
Add amd64 assembler versions of some standard functions to libc. The code is already used in the kernel and the files are unmodified copies from src/sys/lib/libkern/arch/amd64/. Depending on the function, this gives us some speedup in userland.
ok deraadt@, no objections from miod@
show more ...
|