llvm-project

Форк
0
/
gcc_s.ver.in 
157 строк · 6.0 Кб
1
// Detect if we're using arm-*-*-gnueabihf
2
#if defined(__arm__) && \
3
    defined(__ARM_ARCH_7A__) && defined(__ARM_EABI__) && \
4
    defined(__ARM_FP) && (__ARM_FP >= 0x04)
5
  #define ARM_GNUEABIHF
6
#endif
7

8
#if !defined(__x86_64__)  && \
9
    !defined(__aarch64__) && \
10
    !defined(__i386__)    && \
11
    !defined(ARM_GNUEABIHF)
12
  #error The only platforms that are currently supported are x86_64, i386, arm-gnueabihf, and aarch64.
13
#endif
14

15
#if defined(__x86_64__) || defined(__i386__)
16
  #define GLOBAL_X86
17
#endif
18

19
#if __SIZEOF_POINTER__ >= 8
20
  #define GLOBAL_64BIT
21
#else
22
  #define GLOBAL_32BIT
23
#endif
24

25
GCC_3.0 {
26
  __absvdi2;    __absvsi2;    __addvdi3; __addvsi3; __clear_cache; __ffsdi2;
27
  __fixunsdfdi; __fixunssfdi; __mulvdi3; __mulvsi3; __negvdi2;     __negvsi2;
28
  __subvdi3;    __subvsi3;
29
  _Unwind_DeleteException;
30
  _Unwind_ForcedUnwind;
31
  _Unwind_GetDataRelBase;
32
  _Unwind_GetLanguageSpecificData;
33
  _Unwind_GetRegionStart;
34
  _Unwind_GetTextRelBase;
35
  _Unwind_RaiseException;
36
  _Unwind_Resume;
37
};
38

39
GCC_3.3   { _Unwind_GetCFA; _Unwind_Resume_or_Rethrow;                    };
40
GCC_3.3.1 { __gcc_personality_v0;                                         };
41
GCC_3.4   { __clzdi2; __ctzdi2; __paritydi2; __popcountdi2;               };
42
GCC_3.4.2 { __enable_execute_stack;                                       };
43
GCC_4.0.0 { __divdc3; __divsc3; __muldc3; __mulsc3; __powidf2; __powisf2; };
44
GCC_4.3.0 { __bswapdi2; __bswapsi2; __emutls_get_address;                 };
45

46
#if defined(GLOBAL_32BIT)
47
  GCC_3.0 {
48
    __ashldi3;    __ashrdi3;   __cmpdi2;    __fixdfdi; __fixsfdi; __fixunsdfsi;
49
    __fixunssfsi; __floatdidf; __floatdisf; __lshrdi3; __muldi3;  __negdi2;
50
    __ucmpdi2;    __udivmoddi4;
51
  };
52

53
  GCC_3.4   { __clzsi2;      __ctzsi2;      __paritysi2; __popcountsi2; };
54
  GCC_4.2.0 { __floatundidf; __floatundisf;                             };
55
  GCC_4.3.0 { __ffssi2;                                                 };
56
  GCC_7.0.0 { __divmoddi4;                                              };
57
  GLIBC_2.0 { __divdi3;     __moddi3;       __udivdi3; __umoddi3;       };
58
#elif defined(GLOBAL_64BIT)
59
  GCC_3.0 {
60
    __ashlti3; __ashrti3;    __cmpti2;     __divti3;  __ffsti2;  __fixdfti;
61
    __fixsfti; __fixunssfti; __floattidf;  __lshrti3; __modti3;  __multi3;
62
    __negti2;  __ucmpti2;    __udivmodti4; __udivti3; __umodti3; __fixunsdfti;
63
    __floattisf;
64
  };
65

66
  GCC_3.4   { __clzti2;      __ctzti2;  __parityti2; __popcountti2;           };
67
  GCC_3.4.4 { __absvti2;     __addvti3; __mulvti3;   __negvti2;    __subvti3; };
68
  GCC_4.2.0 { __floatuntidf; __floatuntisf;                                   };
69
  GCC_7.0.0 { __divmodti4;                                                    };
70
#endif
71

72
#if defined(GLOBAL_X86)
73
  GCC_3.0 { __fixunsxfdi; };
74
  GCC_4.0.0 { __divxc3; __mulxc3; __powixf2; };
75
  GCC_4.8.0 { __cpu_indicator_init;          };
76
#endif
77

78
#if !defined(ARM_GNUEABIHF)
79
  GCC_3.0 {
80
    _Unwind_Find_FDE; _Unwind_GetGR; _Unwind_GetIP; _Unwind_SetGR; _Unwind_SetIP;
81
  };
82

83
  GCC_3.3   { _Unwind_Backtrace; _Unwind_FindEnclosingFunction; };
84
  GCC_4.2.0 { _Unwind_GetIPInfo; };
85
#else // defined(ARM_GNUEABIHF)
86
  GCC_3.0 {
87
    __adddf3;  __addsf3;      __divdf3;  __divsf3;    __divsi3;    __eqdf2;
88
    __eqsf2;   __extendsfdf2; __fixdfsi; __fixsfsi;   __floatsidf; __floatsisf;
89
    __gedf2;   __gesf2;       __gtdf2;   __gtsf2;     __ledf2;     __lesf2;
90
    __ltdf2;   __ltsf2;       __modsi3;  __muldf3;    __mulsf3;    __nedf2;
91
    __negdf2;  __negsf2;      __nesf2;   __subdf3;    __subsf3;    __truncdfsf2;
92
    __udivsi3; __umodsi3;
93
  };
94

95
  GCC_3.3.4 { __unorddf2; __unordsf2; };
96

97
  GCC_3.5 {
98
    __aeabi_cdcmpeq; __aeabi_cdcmple;  __aeabi_cdrcmple;       __aeabi_cfcmpeq;
99
    __aeabi_cfcmple; __aeabi_cfrcmple; __aeabi_d2f;            __aeabi_d2iz;
100
    __aeabi_d2lz;    __aeabi_d2uiz;    __aeabi_d2ulz;          __aeabi_dadd;
101
    __aeabi_dcmpeq;  __aeabi_dcmpge;   __aeabi_dcmpgt;         __aeabi_dcmple;
102
    __aeabi_dcmplt;  __aeabi_dcmpun;   __aeabi_ddiv;           __aeabi_dmul;
103
    __aeabi_dneg;    __aeabi_drsub;    __aeabi_dsub;           __aeabi_f2d;
104
    __aeabi_f2iz;    __aeabi_f2lz;     __aeabi_f2uiz;          __aeabi_f2ulz;
105
    __aeabi_fadd;    __aeabi_fcmpeq;   __aeabi_fcmpge;         __aeabi_fcmpgt;
106
    __aeabi_fcmple;  __aeabi_fcmplt;   __aeabi_fcmpun;         __aeabi_fdiv;
107
    __aeabi_fmul;    __aeabi_fneg;     __aeabi_frsub;          __aeabi_fsub;
108
    __aeabi_i2d;     __aeabi_i2f;      __aeabi_idiv;           __aeabi_idiv0;
109
    __aeabi_idivmod; __aeabi_l2d;      __aeabi_l2f;            __aeabi_lasr;
110
    __aeabi_lcmp;    __aeabi_ldiv0;    __aeabi_ldivmod;        __aeabi_llsl;
111
    __aeabi_llsr;    __aeabi_lmul;     __aeabi_ui2d;           __aeabi_ui2f;
112
    __aeabi_uidiv;   __aeabi_uidivmod; __aeabi_ul2d;           __aeabi_ul2f;
113
    __aeabi_ulcmp;   __aeabi_uldivmod; __aeabi_unwind_cpp_pr0;
114
    __aeabi_unwind_cpp_pr1;            __aeabi_unwind_cpp_pr2;
115
    __gnu_unwind_frame;
116
    _Unwind_Complete;
117
    _Unwind_VRS_Get;
118
    _Unwind_VRS_Pop;
119
    _Unwind_VRS_Set;
120
  };
121

122
  GCC_4.2.0 { __floatunsidf; __floatunsisf; };
123
  GCC_4.3.0 { _Unwind_Backtrace;            };
124
#endif
125

126
#if defined(__aarch64__)
127
  GCC_3.0 {
128
    __addtf3;     __divtf3;     __eqtf2;     __extenddftf2; __extendsftf2;
129
    __fixtfdi;    __fixtfsi;    __fixtfti;   __fixunstfdi;  __fixunstfsi;
130
    __fixunstfti; __floatditf;  __floatsitf; __floattitf;   __getf2;
131
    __gttf2;      __letf2;      __lttf2;     __multf3;      __netf2;
132
    __subtf3;     __trunctfdf2; __trunctfsf2;
133
  };
134

135
  GCC_4.0.0 { __powitf2;     __divtc3;      __multc3; };
136
  GCC_4.2.0 { __floatunditf; __floatunsitf; __floatuntitf; };
137
  GCC_4.5.0 { __unordtf2; };
138
#endif
139

140
#if defined(__aarch64__) || defined(__i386__)
141
  GLIBC_2.0 { __deregister_frame; __register_frame; };
142
#endif
143

144
#if defined(__i386__)
145
  GCC_3.0   { __fixunsxfsi; __fixxfdi; __floatdixf; };
146
  GCC_4.2.0 { __floatundixf; };
147
#endif
148

149
#if defined(__x86_64__)
150
  GCC_3.0 {
151
    __deregister_frame;    __register_frame;
152
    __fixunsxfti;          __fixxfti;                   __floattixf;
153
  };
154

155
  GCC_4.2.0 { __floatuntixf; };
156
  GCC_4.3.0 { __divtc3; __multc3; };
157
#endif
158

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.