Files
ksOS/Kernel/Source/Support/stubs.c
T
2026-04-20 16:20:31 +04:00

37 lines
968 B
C

#include <stddef.h>
#include <stdint.h>
void* memmove(void* dest, const void* src, unsigned long n) {
unsigned char* d = (unsigned char*)dest;
const unsigned char* s = (const unsigned char*)src;
if (d < s) {
while (n--) *d++ = *s++;
} else {
d += n; s += n;
while (n--) *--d = *--s;
}
return dest;
}
void* memcpy(void* dest, const void* src, unsigned long n) {
return memmove(dest, src, n);
}
void* memset(void* dest, int c, unsigned long n) {
unsigned char* d = (unsigned char*)dest;
while (n--) *d++ = (unsigned char)c;
return dest;
}
// Stack protection
long __stack_chk_guard = (long)0xDEADBEEFCAFEBABEULL;
void __stack_chk_fail(void) { while (1); }
// Swift runtime allocator stubs — should never be called in embedded mode
int posix_memalign(void** ptr, unsigned long align, unsigned long size) {
(void)ptr; (void)align; (void)size;
while (1);
}
void free(void* ptr) { (void)ptr; }