Fix strchr() and strrchr() on mips64Truncate the character arguments of strchr() and strrchr() to eight bitsso that the implied char conversion would work correctly. Otherwise thefunctions would
Fix strchr() and strrchr() on mips64Truncate the character arguments of strchr() and strrchr() to eight bitsso that the implied char conversion would work correctly. Otherwise thefunctions would always return NULL when the character argument isnegative.OK miod@
show more ...
Instead of trying to handle ffs() with the normal rename-mark-hidden-and-aliasdance, mark it protected. This works better for both gcc and clang: gccblocks overriding of internal calls, while clan
Instead of trying to handle ffs() with the normal rename-mark-hidden-and-aliasdance, mark it protected. This works better for both gcc and clang: gccblocks overriding of internal calls, while clang permits inlining again.ok otto@
Add framework for resolving (pun intended) libc namespace issues, usingwrapper .h files and asm labels to let internal calls resolve directly andnot be overridable or use the PLT. Then, apply that
Add framework for resolving (pun intended) libc namespace issues, usingwrapper .h files and asm labels to let internal calls resolve directly andnot be overridable or use the PLT. Then, apply that framework to most ofthe functions in stdio.h, string.h, err.h, and wchar.h. Delete theshould-have-been-hidden-all-along _v?(err|warn)[cx]? symbols while here.tests clean on i386, amd64, sparc64, powerpc, and mips64naming feedback from kettenis@ and millert@ok kettenis@
Make index/rindex weak aliases of strchr/strrchr since they are notpart of the ISO C standard and have also been dropped from POSIX.OK guenther@ kettenis@
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/rindexBring back amd64 .S versionsAnd the final touch: switch all architectures temporarily to MImemcpy.c, which contains syslog + abort for overlapping copies. A niceharsh undefined behaviour. We will clean the entire userland of theremaining issues in this catagory, then switch to the optimised memcpywhich skips the memmove check.I tried to cut this change into pieces, but testing each sub-step onevery architecture is too time consuming and mindnumbing.ok miod
remove lint leftovers; ok guenther@
More changes to avoid truncating 64 bit pointers to 32 bits and sign-extendingthem; allows userland with stack beyond 2GB to run.
Use a local numeric label to branch to the start of the function, instead ofreferencing it by name; silences a linker warning; no functional change.
zap rcsid.okay deraadt@ (tested them all)
mips64 is now going ABI64 and shared library support!String functions need some optimization/rewrite to take full advantage.
remove single '
Move mips to mips64