X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FLibraries%2Fld-acess.so_src%2Flib.c;h=06721026e6cd1723e9a7811a05ab6d025a444a6e;hb=8dcc3e209d0d728565a18c8dca2b0ba220b74a6f;hp=d7a581e4c97ebb65642898d8040ca81fee2fb99f;hpb=dc8801cc0b5ed911a775cfc2ea853048f7a00db1;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/ld-acess.so_src/lib.c b/Usermode/Libraries/ld-acess.so_src/lib.c index d7a581e4..06721026 100644 --- a/Usermode/Libraries/ld-acess.so_src/lib.c +++ b/Usermode/Libraries/ld-acess.so_src/lib.c @@ -58,6 +58,14 @@ int memcmp(const void *p1, const void *p2, int len) return 0; } +void *memcpy(void *dest, const void *src, size_t len) +{ + uint8_t *d=dest; + const uint8_t *s=src; + while(len--) *d++ = *s++; + return dest; +} + /** * \fn int file_exists(char *filename) * \brief Checks if a file exists @@ -104,6 +112,7 @@ uint64_t __divmod64(uint64_t Num, uint64_t Den, uint64_t *Rem) return ret; } +#if 0 uint32_t __divmod32(uint32_t Num, uint32_t Den, uint32_t *Rem) { uint32_t ret = 0, add = 1; @@ -162,10 +171,33 @@ int32_t __divsi3(int32_t Num, int32_t Den) return sign * __divmod32(Num, Den, NULL); } +int32_t __modsi3(int32_t Num, int32_t Den) +{ + int32_t sign = 1; + uint32_t tmp; + if(Num < 0) { + Num = -Num; + sign = -sign; + } + if(Den < 0) { + Den = -Den; + sign = -sign; + } + __divmod32(Num, Den, &tmp); + return ((int32_t)tmp)*sign; +} + +uint32_t __udivsi3(uint32_t Num, uint32_t Den) +{ + return __divmod32(Num, Den, NULL); +} + + uint32_t __umodsi3(uint32_t Num, uint32_t Den) { uint32_t ret; __divmod32(Num, Den, &ret); return ret; } +#endif