CVSROOT: /cvs Module name: src Changes by: m...@cvs.openbsd.org 2009/08/19 13:47:53
Modified files: sys/arch/vax/include: macros.h sys/arch/vax/vax: subr.s sys/lib/libkern/arch/vax: bcmp.S bcopy.S bzero.S memmove.S ovbcopy.S Added files: sys/lib/libkern/arch/vax: memcmp.S memcpy.S memset.S Log message: <machine/macros.h> would provide inline version of a few of the functions traditionnaly found in libkern. However, the memcmp() flavour would behave as bcmp() with only two possible return values: zero and positive non-zero. This broke the name cache RB trees which now rely upon proper memcmp() semantics(negative value, zero, or positive value). Just give up on these macros and provide the same code as libc, in libkern. As a side effect, this no longer uses the cmpc3 instruction, which is not implemented and requires (slow) kernel emulation, on the original uVax.