0
|
1 # In order to work around the very problems that force us to now generally
|
|
2 # create a libgcc.so, glibc reexported a number of routines from libgcc.a.
|
|
3 # By now choosing the same version tags for these specific routines, we
|
|
4 # maintain enough binary compatibility to allow future versions of glibc
|
|
5 # to defer implementation of these routines to libgcc.so via DT_AUXILIARY.
|
|
6
|
|
7 %ifndef __x86_64__
|
|
8 %exclude {
|
|
9 __divdi3
|
|
10 __moddi3
|
|
11 __udivdi3
|
|
12 __umoddi3
|
|
13 __register_frame
|
|
14 __register_frame_table
|
|
15 __deregister_frame
|
|
16 __register_frame_info
|
|
17 __deregister_frame_info
|
|
18 __frame_state_for
|
|
19 __register_frame_info_table
|
|
20 }
|
|
21
|
|
22 %inherit GCC_3.0 GLIBC_2.0
|
|
23 GLIBC_2.0 {
|
|
24 # Sampling of DImode arithmetic used by (at least) i386 and m68k.
|
|
25 __divdi3
|
|
26 __moddi3
|
|
27 __udivdi3
|
|
28 __umoddi3
|
|
29
|
|
30 # Exception handling support functions used by most everyone.
|
|
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 %endif
|
|
40
|
|
41 # 128 bit long double support was introduced with GCC 4.3.0 to 64bit
|
|
42 # and with GCC 4.4.0 to 32bit. These lines make the symbols to get
|
|
43 # a @@GCC_4.3.0 or @@GCC_4.4.0 attached.
|
|
44
|
|
45 %exclude {
|
|
46 __addtf3
|
|
47 __divtc3
|
|
48 __divtf3
|
|
49 __eqtf2
|
|
50 __extenddftf2
|
|
51 __extendsftf2
|
|
52 __extendxftf2
|
|
53 __fixtfdi
|
|
54 __fixtfsi
|
|
55 __fixtfti
|
|
56 __fixunstfdi
|
|
57 __fixunstfsi
|
|
58 __fixunstfti
|
|
59 __floatditf
|
|
60 __floatsitf
|
|
61 __floattitf
|
|
62 __floatunditf
|
|
63 __floatunsitf
|
|
64 __floatuntitf
|
|
65 __getf2
|
|
66 __gttf2
|
|
67 __letf2
|
|
68 __lttf2
|
|
69 __multc3
|
|
70 __multf3
|
|
71 __negtf2
|
|
72 __netf2
|
|
73 __powitf2
|
|
74 __subtf3
|
|
75 __trunctfdf2
|
|
76 __trunctfsf2
|
|
77 __trunctfxf2
|
|
78 __unordtf2
|
|
79 }
|
|
80
|
|
81 %ifdef __x86_64__
|
|
82 # Those symbols had improper versions when they were added to gcc 4.3.0.
|
|
83 # We corrected the default version to GCC_4.3.0. But we keep the old
|
|
84 # version for backward binary compatibility.
|
|
85 GCC_3.0 {
|
|
86 __gttf2
|
|
87 __lttf2
|
|
88 __netf2
|
|
89 }
|
|
90
|
|
91 GCC_4.0.0 {
|
|
92 __divtc3
|
|
93 __multc3
|
|
94 __powitf2
|
|
95 }
|
|
96
|
|
97 GCC_4.3.0 {
|
|
98 __addtf3
|
|
99 __divtc3
|
|
100 __divtf3
|
|
101 __eqtf2
|
|
102 __extenddftf2
|
|
103 __extendsftf2
|
|
104 __extendxftf2
|
|
105 __fixtfdi
|
|
106 __fixtfsi
|
|
107 __fixtfti
|
|
108 __fixunstfdi
|
|
109 __fixunstfsi
|
|
110 __fixunstfti
|
|
111 __floatditf
|
|
112 __floatsitf
|
|
113 __floattitf
|
|
114 __floatunditf
|
|
115 __floatunsitf
|
|
116 __floatuntitf
|
|
117 __getf2
|
|
118 __gttf2
|
|
119 __letf2
|
|
120 __lttf2
|
|
121 __multc3
|
|
122 __multf3
|
|
123 __negtf2
|
|
124 __netf2
|
|
125 __powitf2
|
|
126 __subtf3
|
|
127 __trunctfdf2
|
|
128 __trunctfsf2
|
|
129 __trunctfxf2
|
|
130 __unordtf2
|
|
131 }
|
|
132 %else
|
|
133 GCC_4.4.0 {
|
|
134 __addtf3
|
|
135 __copysigntf3
|
|
136 __divtc3
|
|
137 __divtf3
|
|
138 __eqtf2
|
|
139 __extenddftf2
|
|
140 __extendsftf2
|
|
141 __fabstf2
|
|
142 __fixtfdi
|
|
143 __fixtfsi
|
|
144 __fixunstfdi
|
|
145 __fixunstfsi
|
|
146 __floatditf
|
|
147 __floatsitf
|
|
148 __floatunditf
|
|
149 __floatunsitf
|
|
150 __getf2
|
|
151 __gttf2
|
|
152 __letf2
|
|
153 __lttf2
|
|
154 __multc3
|
|
155 __multf3
|
|
156 __negtf2
|
|
157 __netf2
|
|
158 __powitf2
|
|
159 __subtf3
|
|
160 __trunctfdf2
|
|
161 __trunctfsf2
|
|
162 __trunctfxf2
|
|
163 __unordtf2
|
|
164 }
|
|
165 %endif
|