1 /* SPDX-License-Identifier: GPL-2.0 */ 1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef __ASM_LIBGCC_H 2 #ifndef __ASM_LIBGCC_H 3 #define __ASM_LIBGCC_H 3 #define __ASM_LIBGCC_H 4 4 5 #include <asm/byteorder.h> 5 #include <asm/byteorder.h> 6 6 7 typedef int word_type __attribute__ ((mode (__ 7 typedef int word_type __attribute__ ((mode (__word__))); 8 8 9 #ifdef __BIG_ENDIAN << 10 struct DWstruct { 9 struct DWstruct { 11 int high, low; 10 int high, low; 12 }; 11 }; 13 12 14 struct TWstruct { !! 13 typedef union 15 long long high, low; !! 14 { 16 }; << 17 #elif defined(__LITTLE_ENDIAN) << 18 struct DWstruct { << 19 int low, high; << 20 }; << 21 << 22 struct TWstruct { << 23 long long low, high; << 24 }; << 25 #else << 26 #error I feel sick. << 27 #endif << 28 << 29 typedef union { << 30 struct DWstruct s; 15 struct DWstruct s; 31 long long ll; 16 long long ll; 32 } DWunion; 17 } DWunion; 33 << 34 #if defined(CONFIG_64BIT) && defined(CONFIG_CP << 35 typedef int ti_type __attribute__((mode(TI))); << 36 << 37 typedef union { << 38 struct TWstruct s; << 39 ti_type ti; << 40 } TWunion; << 41 #endif << 42 18 43 #endif /* __ASM_LIBGCC_H */ 19 #endif /* __ASM_LIBGCC_H */ 44 20
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.