]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgcc/config/s390/libgcc-glibc.ver
Update copyright years.
[thirdparty/gcc.git] / libgcc / config / s390 / libgcc-glibc.ver
CommitLineData
fbd26352 1# Copyright (C) 2002-2019 Free Software Foundation, Inc.
7dfbd804 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
8994bd9e 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,
ffead1ca 26# because GLIBC_2.0 does not exist on this architecture, as the first
8994bd9e 27# ever glibc release on the platform was GLIBC_2.2.
28
019dd86a 29%ifndef __s390x__
b3fd46a0 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
019dd86a 44%inherit GCC_3.0 GLIBC_2.0
45GLIBC_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__
b3fd46a0 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
8994bd9e 72%inherit GCC_3.0 GLIBC_2.2
73GLIBC_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}
019dd86a 82%endif
8994bd9e 83
429f9fdb 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
101GCC_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}