#
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 ...
|
#
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 ...
|