Home | History | Annotate | Line # | Download | only in s390
      1  1.1.1.12  mrg # Copyright (C) 2002-2024 Free Software Foundation, Inc.
      2       1.1  mrg #
      3       1.1  mrg # This file is part of GCC.
      4       1.1  mrg #
      5       1.1  mrg # GCC is free software; you can redistribute it and/or modify
      6       1.1  mrg # it under the terms of the GNU General Public License as published by
      7       1.1  mrg # the Free Software Foundation; either version 3, or (at your option)
      8       1.1  mrg # any later version.
      9       1.1  mrg #
     10       1.1  mrg # GCC is distributed in the hope that it will be useful,
     11       1.1  mrg # but WITHOUT ANY WARRANTY; without even the implied warranty of
     12       1.1  mrg # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     13       1.1  mrg # GNU General Public License for more details.
     14       1.1  mrg #
     15       1.1  mrg # You should have received a copy of the GNU General Public License
     16       1.1  mrg # along with GCC; see the file COPYING3.  If not see
     17       1.1  mrg # <http://www.gnu.org/licenses/>.
     18       1.1  mrg 
     19       1.1  mrg # In order to work around the very problems that force us to now generally
     20       1.1  mrg # create a libgcc.so, glibc reexported a number of routines from libgcc.a.
     21       1.1  mrg # By now choosing the same version tags for these specific routines, we
     22       1.1  mrg # maintain enough binary compatibility to allow future versions of glibc
     23       1.1  mrg # to defer implementation of these routines to libgcc.so via DT_AUXILIARY.
     24       1.1  mrg 
     25       1.1  mrg # Note that we cannot use the default libgcc-glibc.ver file on s390x,
     26       1.1  mrg # because GLIBC_2.0 does not exist on this architecture, as the first
     27       1.1  mrg # ever glibc release on the platform was GLIBC_2.2.
     28       1.1  mrg 
     29       1.1  mrg %ifndef __s390x__
     30       1.1  mrg %exclude {
     31       1.1  mrg   __divdi3
     32       1.1  mrg   __moddi3
     33       1.1  mrg   __udivdi3
     34       1.1  mrg   __umoddi3
     35       1.1  mrg   __register_frame
     36       1.1  mrg   __register_frame_table
     37       1.1  mrg   __deregister_frame
     38       1.1  mrg   __register_frame_info
     39       1.1  mrg   __deregister_frame_info
     40       1.1  mrg   __frame_state_for
     41       1.1  mrg   __register_frame_info_table
     42       1.1  mrg }
     43       1.1  mrg 
     44       1.1  mrg %inherit GCC_3.0 GLIBC_2.0
     45       1.1  mrg GLIBC_2.0 {
     46       1.1  mrg   __divdi3
     47       1.1  mrg   __moddi3
     48       1.1  mrg   __udivdi3
     49       1.1  mrg   __umoddi3
     50       1.1  mrg 
     51       1.1  mrg   __register_frame
     52       1.1  mrg   __register_frame_table
     53       1.1  mrg   __deregister_frame
     54       1.1  mrg   __register_frame_info
     55       1.1  mrg   __deregister_frame_info
     56       1.1  mrg   __frame_state_for
     57       1.1  mrg   __register_frame_info_table
     58       1.1  mrg }
     59       1.1  mrg %endif
     60       1.1  mrg 
     61       1.1  mrg %ifdef __s390x__
     62       1.1  mrg %exclude {
     63       1.1  mrg   __register_frame
     64       1.1  mrg   __register_frame_table
     65       1.1  mrg   __deregister_frame
     66       1.1  mrg   __register_frame_info
     67       1.1  mrg   __deregister_frame_info
     68       1.1  mrg   __frame_state_for
     69       1.1  mrg   __register_frame_info_table
     70       1.1  mrg }
     71       1.1  mrg 
     72       1.1  mrg %inherit GCC_3.0 GLIBC_2.2
     73       1.1  mrg GLIBC_2.2 {
     74       1.1  mrg   __register_frame
     75       1.1  mrg   __register_frame_table
     76       1.1  mrg   __deregister_frame
     77       1.1  mrg   __register_frame_info
     78       1.1  mrg   __deregister_frame_info
     79       1.1  mrg   __frame_state_for
     80       1.1  mrg   __register_frame_info_table
     81       1.1  mrg }
     82       1.1  mrg %endif
     83       1.1  mrg 
     84       1.1  mrg # With GCC 4.1.0 long double 128 bit support was introduced. The
     85       1.1  mrg # following symbols coming from libgcc are enabled when -mlong-double-128
     86       1.1  mrg # is specified. These lines make the symbols to get a @@GCC_4.1.0 attached.
     87       1.1  mrg 
     88       1.1  mrg %exclude {
     89       1.1  mrg   __divtc3
     90       1.1  mrg   __multc3
     91       1.1  mrg   __powitf2
     92       1.1  mrg   __fixtfti
     93       1.1  mrg   __fixunstfti
     94       1.1  mrg   __floattitf
     95       1.1  mrg 
     96       1.1  mrg   __fixtfdi
     97       1.1  mrg   __fixunstfdi
     98       1.1  mrg   __floatditf
     99       1.1  mrg }
    100       1.1  mrg 
    101       1.1  mrg GCC_4.1.0 {
    102       1.1  mrg   __divtc3
    103       1.1  mrg   __multc3
    104       1.1  mrg   __powitf2
    105       1.1  mrg 
    106       1.1  mrg %ifdef __s390x__
    107       1.1  mrg   __fixtfti
    108       1.1  mrg   __fixunstfti
    109       1.1  mrg   __floattitf
    110       1.1  mrg 
    111       1.1  mrg %else
    112       1.1  mrg   __fixtfdi
    113       1.1  mrg   __fixunstfdi
    114       1.1  mrg   __floatditf
    115       1.1  mrg %endif
    116       1.1  mrg }
    117