Dear all, attached is a patch that makes the alignment check in strlen more consistent with the one in memcpy, and hopefully faster. In src/string/memcpy.c, I find the following: #define ALIGN (sizeof(size_t)-1) if (((uintptr_t)d & ALIGN) != ((uintptr_t)s & ALIGN)) goto misaligned; In src/string/strlen.c, a different check was used instead: #define ALIGN (sizeof(size_t)) for (; (uintptr_t)s % ALIGN; s++) if (!*s) return s-a; I do not think there is any particular reason for this difference. Best, Jonas