X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;ds=sidebyside;f=Usermode%2FLibraries%2Flibgcc.so_src%2Flibgcc.c;h=df1832d115318833286326699ce4dd42bd4a3940;hb=fb3abbad5dfd71ea2b190d0b33d9c57e879fb15a;hp=2127b551c6806b37913270b8ca199389a293371c;hpb=9d3800f60f2212432e550a4e003ae65b498a4d36;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/libgcc.so_src/libgcc.c b/Usermode/Libraries/libgcc.so_src/libgcc.c index 2127b551..df1832d1 100644 --- a/Usermode/Libraries/libgcc.so_src/libgcc.c +++ b/Usermode/Libraries/libgcc.so_src/libgcc.c @@ -1,9 +1,8 @@ /* Acess GCC Helper Library * */ -#include - -typedef unsigned long long int uint64_t; +#include +#include // === CODE === int SoMain() @@ -14,37 +13,8 @@ int SoMain() // --- Errors --- void __stack_chk_fail() { - write(1, 32, "FATAL ERROR: Stack Check Failed\n"); + write(2, "FATAL ERROR: Stack Check Failed\n", 32); _exit(-1); for(;;); } -// --- 64-Bit Math --- -/** - * \fn uint64_t __udivdi3(uint64_t Num, uint64_t Den) - * \brief Divide two 64-bit integers - */ -uint64_t __udivdi3(uint64_t Num, uint64_t Den) -{ - uint64_t ret = 0; - if(Den == 0) // Call Div by Zero Error - __asm__ __volatile__ ("int $0"); - while(Num > Den) { - ret ++; - Num -= Den; - } - return ret; -} - -/** - * \fn uint64_t __umoddi3(uint64_t Num, uint64_t Den) - * \brief Get the modulus of two 64-bit integers - */ -uint64_t __umoddi3(uint64_t Num, uint64_t Den) -{ - if(Den == 0) // Call Div by Zero Error - __asm__ __volatile__ ("int $0"); - while(Num > Den) - Num -= Den; - return Num; -}