CVSROOT: /cvs Module name: src Changes by: dera...@cvs.openbsd.org 2014/11/30 12:43:57
Modified files: lib/libc/arch/alpha/string: Makefile.inc bcopy.S memcpy.S memmove.S lib/libc/arch/amd64/string: Makefile.inc lib/libc/arch/arm/string: Makefile.inc memcpy.S lib/libc/arch/hppa/string: Makefile.inc lib/libc/arch/hppa64/string: Makefile.inc lib/libc/arch/i386/string: Makefile.inc bcopy.S memcpy.S memmove.S strchr.S strrchr.S lib/libc/arch/m88k/string: Makefile.inc lib/libc/arch/mips64/string: Makefile.inc lib/libc/arch/powerpc/string: Makefile.inc lib/libc/arch/sh/string: Makefile.inc bcopy.S memcpy.S memmove.S lib/libc/arch/sparc/string: Makefile.inc lib/libc/arch/sparc64/string: Makefile.inc lib/libc/arch/vax/string: Makefile.inc memcpy.S lib/libc/string: Makefile.inc bcopy.c index.c rindex.c Added files: lib/libc/arch/amd64/string: bcmp.S bzero.S memchr.S memmove.S memset.S strchr.S strcmp.S strrchr.S lib/libc/arch/mips64/string: strchr.S strrchr.S lib/libc/arch/vax/string: strchr.S lib/libc/string: memcpy.c memmove.c strchr.c strrchr.c Removed files: lib/libc/arch/i386/string: index.S rindex.S lib/libc/arch/mips64/string: index.S rindex.S lib/libc/arch/vax/string: index.S Log message: 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