Index: memchr.S =================================================================== RCS file: /cvs/src/src/newlib/libc/machine/aarch64/memchr.S,v retrieving revision 1.1 diff -u -p -r1.1 memchr.S --- memchr.S 11 Jul 2014 09:10:50 -0000 1.1 +++ memchr.S 19 Aug 2014 09:30:23 -0000 @@ -79,6 +79,8 @@ .endm def_fn memchr + /* Do not dereference srcin if no bytes to compare. */ + cbz cntin, .Lzero_length /* * Magic constant 0x40100401 allows us to identify which lane matches * the requested byte. @@ -166,5 +168,9 @@ def_fn memchr csel result, xzr, result, eq ret +.Lzero_length: + mov result, #0 + ret + .size memchr, . - memchr #endif