make it build (and get wibo update from ph)

This commit is contained in:
Yanis002
2025-02-13 23:19:43 +01:00
parent 27d0fa2662
commit 4f7cefd225
8 changed files with 91 additions and 6 deletions
+6
View File
@@ -0,0 +1,6 @@
#ifndef _C_STRLIB_H
#define _C_STRLIB_H
int abs(int n);
#endif
+15
View File
@@ -0,0 +1,15 @@
#ifndef _C_STRING_H
#define _C_STRING_H
typedef unsigned int size_t;
size_t strlen(const char *str);
char *strcpy(char *dest, const char *src);
char *strncpy(char *dest, const char *src, size_t num);
char *strcat(char *dest, const char *src);
int strcmp(char *str1, char *str2);
int strncmp(char *str1, char *str2, size_t num);
const char *strchr(const char *str, char ch);
const char *strstr(const char *str1, const char *str2);
#endif
@@ -0,0 +1,10 @@
#pragma once
typedef struct DestructorChain {
/* 0 */ struct DestructorChain *next;
/* 4 */ void *destructor;
/* 8 */ void *object;
/* c */
} DestructorChain;
void *__register_global_object(void *object, void *destructor, DestructorChain *link);
+10
View File
@@ -0,0 +1,10 @@
#pragma once
namespace std {
template <class T> class vector {
public:
T *elements;
int size;
int capacity;
};
} // namespace std
+14
View File
@@ -0,0 +1,14 @@
#include "global_destructor_chain.h"
#define CALL_DTOR(dtor, obj) (((void (*)(void *, int))(dtor))((obj), -1))
DestructorChain *__global_destructor_chain;
void *__register_global_object(void *object, void *destructor, DestructorChain *link) {
link->next = __global_destructor_chain;
link->destructor = destructor;
link->object = object;
__global_destructor_chain = link;
return object;
}