#ifndef _LIBGCC_H #define _LIBGCC_H #include "asm/types.h" #ifndef NULL #define NULL ((void *)0) #endif typedef int SItype __attribute__ ((mode (SI))); typedef unsigned int USItype __attribute__ ((mode (SI))); typedef int DItype __attribute__ ((mode (DI))); typedef unsigned int UDItype __attribute__ ((mode (DI))); typedef int word_type __attribute__ ((mode (__word__))); uint64_t __udivmoddi4(uint64_t num, uint64_t den, uint64_t *rem); int64_t __divdi3(int64_t num, int64_t den); uint64_t __udivdi3(uint64_t num, uint64_t den); uint64_t __umoddi3(uint64_t num, uint64_t den); DItype __ashldi3 (DItype u, word_type b); DItype __lshrdi3 (DItype u, word_type b); DItype __ashrdi3 (DItype u, word_type b); // Must be implemented outside: void __divide_error(void); #if defined(__arch64__) || defined(__LP64__) typedef int TItype __attribute__ ((mode (TI))); __uint128_t __udivmodti4(__uint128_t num, __uint128_t den, __uint128_t *rem); __int128_t __divti3(__int128_t num, __int128_t den); __uint128_t __udivti3(__uint128_t num, __uint128_t den); __uint128_t __umodti3(__uint128_t num, __uint128_t den); TItype __multi3 (TItype u, TItype v); TItype __negti2 (TItype u); #endif #endif /* _LIBGCC_H */