fix cu_memcmp on x86_64

This commit is contained in:
mykola2312 2022-06-07 11:00:02 +03:00
parent 17bbc4af49
commit a0aa466054
3 changed files with 11 additions and 8 deletions

View file

@ -24,7 +24,7 @@ set(SOURCES
heap.c
)
set(ARCHITECTURE "SuperH4" CACHE STRING "cutil target architecture")
set(ARCHITECTURE "x86_64" CACHE STRING "cutil target architecture")
set(ARM_PROCESSOR "cortex-m4" CACHE STRING "cutil ARM processor")
set(ARM_PROFILE "a" CACHE STRING "cutil ARM architecture profile")
@ -45,13 +45,15 @@ if ("${ARCHITECTURE}" MATCHES "ARM*")
elseif("${ARCHITECTURE}" MATCHES "SuperH4")
set(CUSTOM_STDLIB "/opt/sh4-platform/lib" CACHE STRING "custom stdlib path")
add_compile_options("-m4")
else()
set(CUSTOM_STDLIB "" CACHE STRING "custom stdlib path")
endif()
add_library(cutil STATIC ${SOURCES} ${HEADERS}
"arch/${ARCHITECTURE}.S"
)
option(NOSTDLIB "compile cutil without stdlib" ON)
option(NOSTDLIB "compile cutil without stdlib" OFF)
option(STATIC "compile test static" OFF)
if (NOSTDLIB)
target_compile_definitions(cutil PRIVATE CUTIL_NOSTDLIB)

View file

@ -1,9 +1,10 @@
#include "cutil.h"
#include "endian.h"
#include "heap.h"
mheap_t cu_heap;
#ifdef CUTIL_NOSTDLIB
# include "heap.h"
mheap_t cu_heap;
void* _cu_malloc(size_t size)
{
@ -29,7 +30,7 @@ void (*cu_free)(void*) = _cu_free;
void* (*cu_memset)(void*,int,size_t) = _cu_memset;
void* (*cu_memcpy)(void*,const void*,size_t) = _cu_memcpy;
void* (*cu_memmove)(void*,const void*,size_t) = _cu_memmove;
void* (*cu_memcmp)(const void*,const void*, size_t) = _cu_memcmp;
int (*cu_memcmp)(const void*,const void*, size_t) = _cu_memcmp;
void cutil_init(void* heap, size_t size)
{
@ -46,7 +47,7 @@ void (*cu_free)(void*) = free;
void* (*cu_memset)(void*,int,size_t) = memset;
void* (*cu_memcpy)(void*,const void*,size_t) = memcpy;
void* (*cu_memmove)(void*,const void*,size_t) = memmove;
void* (*cu_memcmp)(const void*,const void*, size_t) = memcmp;
int (*cu_memcmp)(const void*,const void*, size_t) = memcmp;
void cutil_init(void* heap, size_t size)
{

View file

@ -7,7 +7,7 @@
extern void* _cu_memset(void* dst, int val, size_t size);
extern void* _cu_memcpy(void* dst, const void* src, size_t size);
extern void* _cu_memmove(void* dst, const void* src, size_t size);
extern void* _cu_memcmp(const void* dst, const void* src, size_t size);
extern int _cu_memcmp(const void* dst, const void* src, size_t size);
void __cu_memmove(void* dst, void* src, size_t size);
@ -17,7 +17,7 @@ extern void (*cu_free)(void*);
extern void* (*cu_memset)(void*,int,size_t);
extern void* (*cu_memcpy)(void*,const void*,size_t);
extern void* (*cu_memmove)(void*,const void*,size_t);
extern void* (*cu_memcmp)(const void*,const void*, size_t);
extern int (*cu_memcmp)(const void*,const void*, size_t);
void cutil_init(void* heap, size_t size);
void cutil_init();