]> git.ipfire.org Git - thirdparty/gcc.git/blob - libgcc/config/s390/libgcc-glibc.ver
config.gcc: Don't include the makefile fragments intended for libgcc.
[thirdparty/gcc.git] / libgcc / config / s390 / libgcc-glibc.ver
1 # Copyright (C) 2002, 2006, 2008 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 # Note that we cannot use the default libgcc-glibc.ver file on s390x,
26 # because GLIBC_2.0 does not exist on this architecture, as the first
27 # ever glibc release on the platform was GLIBC_2.2.
28
29 %ifndef __s390x__
30 %exclude {
31 __divdi3
32 __moddi3
33 __udivdi3
34 __umoddi3
35 __register_frame
36 __register_frame_table
37 __deregister_frame
38 __register_frame_info
39 __deregister_frame_info
40 __frame_state_for
41 __register_frame_info_table
42 }
43
44 %inherit GCC_3.0 GLIBC_2.0
45 GLIBC_2.0 {
46 __divdi3
47 __moddi3
48 __udivdi3
49 __umoddi3
50
51 __register_frame
52 __register_frame_table
53 __deregister_frame
54 __register_frame_info
55 __deregister_frame_info
56 __frame_state_for
57 __register_frame_info_table
58 }
59 %endif
60
61 %ifdef __s390x__
62 %exclude {
63 __register_frame
64 __register_frame_table
65 __deregister_frame
66 __register_frame_info
67 __deregister_frame_info
68 __frame_state_for
69 __register_frame_info_table
70 }
71
72 %inherit GCC_3.0 GLIBC_2.2
73 GLIBC_2.2 {
74 __register_frame
75 __register_frame_table
76 __deregister_frame
77 __register_frame_info
78 __deregister_frame_info
79 __frame_state_for
80 __register_frame_info_table
81 }
82 %endif
83
84 # With GCC 4.1.0 long double 128 bit support was introduced. The
85 # following symbols coming from libgcc are enabled when -mlong-double-128
86 # is specified. These lines make the symbols to get a @@GCC_4.1.0 attached.
87
88 %exclude {
89 __divtc3
90 __multc3
91 __powitf2
92 __fixtfti
93 __fixunstfti
94 __floattitf
95
96 __fixtfdi
97 __fixunstfdi
98 __floatditf
99 }
100
101 GCC_4.1.0 {
102 __divtc3
103 __multc3
104 __powitf2
105
106 %ifdef __s390x__
107 __fixtfti
108 __fixunstfti
109 __floattitf
110
111 %else
112 __fixtfdi
113 __fixunstfdi
114 __floatditf
115 %endif
116 }