]> git.ipfire.org Git - thirdparty/gcc.git/blob - libgcc/config/i386/libgcc-glibc.ver
middle-end, c++, i386, libgcc: std::bfloat16_t and __bf16 arithmetic support
[thirdparty/gcc.git] / libgcc / config / i386 / libgcc-glibc.ver
1 # Copyright (C) 2008-2022 Free Software Foundation, Inc.
2 #
3 # This file is part of GCC.
4 #
5 # GCC is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 3, or (at your option)
8 # any later version.
9 #
10 # GCC is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License
16 # along with GCC; see the file COPYING3. If not see
17 # <http://www.gnu.org/licenses/>.
18
19 # In order to work around the very problems that force us to now generally
20 # create a libgcc.so, glibc reexported a number of routines from libgcc.a.
21 # By now choosing the same version tags for these specific routines, we
22 # maintain enough binary compatibility to allow future versions of glibc
23 # to defer implementation of these routines to libgcc.so via DT_AUXILIARY.
24
25 %ifndef __x86_64__
26 %exclude {
27 __divdi3
28 __moddi3
29 __udivdi3
30 __umoddi3
31 __register_frame
32 __register_frame_table
33 __deregister_frame
34 __register_frame_info
35 __deregister_frame_info
36 __frame_state_for
37 __register_frame_info_table
38 }
39
40 %inherit GCC_3.0 GLIBC_2.0
41 GLIBC_2.0 {
42 # Sampling of DImode arithmetic used by (at least) i386 and m68k.
43 __divdi3
44 __moddi3
45 __udivdi3
46 __umoddi3
47
48 # Exception handling support functions used by most everyone.
49 __register_frame
50 __register_frame_table
51 __deregister_frame
52 __register_frame_info
53 __deregister_frame_info
54 __frame_state_for
55 __register_frame_info_table
56 }
57 %endif
58
59 # 128 bit long double support was introduced with GCC 4.3.0 to 64bit
60 # and with GCC 4.4.0 to 32bit. These lines make the symbols to get
61 # a @@GCC_4.3.0 or @@GCC_4.4.0 attached.
62
63 %exclude {
64 __addtf3
65 __divtc3
66 __divtf3
67 __eqtf2
68 __extenddftf2
69 __extendsftf2
70 __extendxftf2
71 __fixtfdi
72 __fixtfsi
73 __fixtfti
74 __fixunstfdi
75 __fixunstfsi
76 __fixunstfti
77 __floatditf
78 __floatsitf
79 __floattitf
80 __floatunditf
81 __floatunsitf
82 __floatuntitf
83 __getf2
84 __gttf2
85 __letf2
86 __lttf2
87 __multc3
88 __multf3
89 __negtf2
90 __netf2
91 __powitf2
92 __subtf3
93 __trunctfdf2
94 __trunctfsf2
95 __trunctfxf2
96 __unordtf2
97 }
98
99 %ifdef __x86_64__
100 # Those symbols had improper versions when they were added to gcc 4.3.0.
101 # We corrected the default version to GCC_4.3.0. But we keep the old
102 # version for backward binary compatibility.
103 GCC_3.0 {
104 __gttf2
105 __lttf2
106 __netf2
107 }
108
109 GCC_4.0.0 {
110 __divtc3
111 __multc3
112 __powitf2
113 }
114
115 GCC_4.3.0 {
116 __addtf3
117 __divtc3
118 __divtf3
119 __eqtf2
120 __extenddftf2
121 __extendsftf2
122 __extendxftf2
123 __fixtfdi
124 __fixtfsi
125 __fixtfti
126 __fixunstfdi
127 __fixunstfsi
128 __fixunstfti
129 __floatditf
130 __floatsitf
131 __floattitf
132 __floatunditf
133 __floatunsitf
134 __floatuntitf
135 __getf2
136 __gttf2
137 __letf2
138 __lttf2
139 __multc3
140 __multf3
141 __negtf2
142 __netf2
143 __powitf2
144 __subtf3
145 __trunctfdf2
146 __trunctfsf2
147 __trunctfxf2
148 __unordtf2
149 }
150
151 GCC_4.8.0 {
152 __cpu_model
153 __cpu_indicator_init
154 }
155 %else
156 GCC_4.4.0 {
157 __addtf3
158 __copysigntf3
159 __divtc3
160 __divtf3
161 __eqtf2
162 __extenddftf2
163 __extendsftf2
164 __fabstf2
165 __fixtfdi
166 __fixtfsi
167 __fixunstfdi
168 __fixunstfsi
169 __floatditf
170 __floatsitf
171 __floatunditf
172 __floatunsitf
173 __getf2
174 __gttf2
175 __letf2
176 __lttf2
177 __multc3
178 __multf3
179 __negtf2
180 __netf2
181 __powitf2
182 __subtf3
183 __trunctfdf2
184 __trunctfsf2
185 __trunctfxf2
186 __unordtf2
187 }
188 GCC_4.5.0 {
189 __extendxftf2
190 }
191
192 GCC_4.8.0 {
193 __cpu_model
194 __cpu_indicator_init
195 }
196 %endif
197
198 %inherit GCC_12.0.0 GCC_7.0.0
199 GCC_12.0.0 {
200 __divhc3
201 __mulhc3
202 __eqhf2
203 __nehf2
204 __extendhfdf2
205 __extendhfsf2
206 __extendhftf2
207 __extendhfxf2
208 __fixhfti
209 __fixunshfti
210 __floattihf
211 __floatuntihf
212 __truncdfhf2
213 __truncsfhf2
214 __trunctfhf2
215 __truncxfhf2
216 }
217
218 %inherit GCC_13.0.0 GCC_12.0.0
219 GCC_13.0.0 {
220 __extendbfsf2
221 __truncdfbf2
222 __truncsfbf2
223 __trunctfbf2
224 __truncxfbf2
225 __trunchfbf2
226 }