Fix LP64 builds after OpenBSD string changes.
Change-Id: I07202f6484e716d153d0387fcfc023e119438251
This commit is contained in:
parent
5c7816f425
commit
b6208836cb
@ -5,7 +5,7 @@ libc_common_src_files_arm64 := \
|
||||
bionic/memchr.c \
|
||||
bionic/__memcmp16.cpp \
|
||||
bionic/memcmp.c \
|
||||
bionic/memcpy.c \
|
||||
bionic/memcpy.cpp \
|
||||
bionic/memmove.c \
|
||||
bionic/memrchr.c \
|
||||
bionic/memset.c \
|
||||
|
@ -4,7 +4,7 @@ libc_common_src_files_x86_64 := \
|
||||
bionic/index.cpp \
|
||||
bionic/memchr.c \
|
||||
bionic/memcmp.c \
|
||||
bionic/memcpy.c \
|
||||
bionic/memcpy.cpp \
|
||||
bionic/memmove.c \
|
||||
bionic/memrchr.c \
|
||||
bionic/memset.c \
|
||||
|
@ -31,14 +31,13 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#include <stddef.h>
|
||||
|
||||
// Unoptimized version of __memcmp16.
|
||||
int __memcmp16(const unsigned short *ptr1, const unsigned short *ptr2, size_t n) {
|
||||
|
||||
extern "C" int __memcmp16(const unsigned short* lhs, const unsigned short* rhs, size_t n) {
|
||||
for (size_t i = 0; i < n; i++) {
|
||||
if (*ptr1 != *ptr2) {
|
||||
return *ptr1 - *ptr2;
|
||||
if (*lhs != *rhs) {
|
||||
return *lhs - *rhs;
|
||||
}
|
||||
ptr1++;
|
||||
ptr2++;
|
||||
lhs++;
|
||||
rhs++;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@ -25,5 +25,14 @@
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
#define MEMCOPY
|
||||
#include "bcopy.c"
|
||||
|
||||
#undef _FORTIFY_SOURCE
|
||||
#include <string.h>
|
||||
#include <strings.h>
|
||||
|
||||
// Our unoptimized memcpy just calls the best bcopy available.
|
||||
// (It's this way round rather than the opposite because we're based on BSD source.)
|
||||
void* memcpy(void* dst, const void* src, size_t n) {
|
||||
bcopy(src, dst, n);
|
||||
return dst;
|
||||
}
|
Loading…
Reference in New Issue
Block a user