1 /* SPDX-License-Identifier: GPL-2.0 */ << 2 #ifndef __ASM_LIBGCC_H 1 #ifndef __ASM_LIBGCC_H 3 #define __ASM_LIBGCC_H 2 #define __ASM_LIBGCC_H 4 3 5 #include <asm/byteorder.h> 4 #include <asm/byteorder.h> 6 5 7 typedef int word_type __attribute__ ((mode (__ 6 typedef int word_type __attribute__ ((mode (__word__))); 8 7 9 #ifdef __BIG_ENDIAN 8 #ifdef __BIG_ENDIAN 10 struct DWstruct { 9 struct DWstruct { 11 int high, low; 10 int high, low; 12 }; 11 }; 13 #elif defined(__LITTLE_ENDIAN) 12 #elif defined(__LITTLE_ENDIAN) 14 struct DWstruct { 13 struct DWstruct { 15 int low, high; 14 int low, high; 16 }; 15 }; 17 #else 16 #else 18 #error I feel sick. 17 #error I feel sick. 19 #endif 18 #endif 20 19 21 typedef union { 20 typedef union { 22 struct DWstruct s; 21 struct DWstruct s; 23 long long ll; 22 long long ll; 24 } DWunion; 23 } DWunion; 25 << 26 extern long long __ashldi3(long long u, word_t << 27 extern long long __ashrdi3(long long u, word_t << 28 extern word_type __cmpdi2(long long a, long lo << 29 extern long long __lshrdi3(long long u, word_t << 30 extern long long __muldi3(long long u, long lo << 31 extern word_type __ucmpdi2(unsigned long long << 32 24 33 #endif /* __ASM_LIBGCC_H */ 25 #endif /* __ASM_LIBGCC_H */ 34 26
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.