| # Copyright (C) 2002-2016 Free Software Foundation, Inc. | 
 | # | 
 | # This file is part of GCC. | 
 | # | 
 | # GCC is free software; you can redistribute it and/or modify | 
 | # it under the terms of the GNU General Public License as published by | 
 | # the Free Software Foundation; either version 3, or (at your option) | 
 | # any later version. | 
 | # | 
 | # GCC is distributed in the hope that it will be useful, | 
 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | 
 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
 | # GNU General Public License for more details. | 
 | # | 
 | # You should have received a copy of the GNU General Public License | 
 | # along with GCC; see the file COPYING3.  If not see | 
 | # <http://www.gnu.org/licenses/>. | 
 |  | 
 | # In order to work around the very problems that force us to now generally | 
 | # create a libgcc.so, glibc reexported a number of routines from libgcc.a. | 
 | # By now choosing the same version tags for these specific routines, we | 
 | # maintain enough binary compatibility to allow future versions of glibc | 
 | # to defer implementation of these routines to libgcc.so via DT_AUXILIARY. | 
 |  | 
 | %exclude { | 
 |   __divdi3 | 
 |   __moddi3 | 
 |   __udivdi3 | 
 |   __umoddi3 | 
 |   __register_frame | 
 |   __register_frame_table | 
 |   __deregister_frame | 
 |   __register_frame_info | 
 |   __deregister_frame_info | 
 |   __frame_state_for | 
 |   __register_frame_info_table | 
 | } | 
 |  | 
 | %ifdef __arch64__ | 
 | %define GLIBC_VER GLIBC_2.2 | 
 | %else | 
 | %define GLIBC_VER GLIBC_2.0 | 
 | %endif | 
 | %inherit GCC_3.0 GLIBC_VER | 
 | GLIBC_VER { | 
 |   # Sampling of DImode arithmetic used by (at least) i386 and m68k. | 
 |   __divdi3 | 
 |   __moddi3 | 
 |   __udivdi3 | 
 |   __umoddi3 | 
 |  | 
 |   # Exception handling support functions used by most everyone. | 
 |   __register_frame | 
 |   __register_frame_table | 
 |   __deregister_frame | 
 |   __register_frame_info | 
 |   __deregister_frame_info | 
 |   __frame_state_for | 
 |   __register_frame_info_table | 
 | } | 
 |  | 
 | %if !defined (__arch64__) && defined (__LONG_DOUBLE_128__) | 
 |  | 
 | # long double 128 bit support from 32-bit libgcc_s.so.1 is only available | 
 | # when configured with --with-long-double-128.  Make sure all the | 
 | # symbols are available at @@GCC_LDBL_* versions to make it clear | 
 | # there is a configurable symbol set. | 
 |  | 
 | %exclude { | 
 |   __fixtfdi | 
 |   __fixunstfdi | 
 |   __floatditf | 
 |  | 
 |   __divtc3 | 
 |   __multc3 | 
 |   __powitf2 | 
 | } | 
 |  | 
 | %inherit GCC_LDBL_3.0 GCC_3.0 | 
 | GCC_LDBL_3.0 { | 
 |   __fixtfdi | 
 |   __fixunstfdi | 
 |   __floatditf | 
 | } | 
 |  | 
 | %inherit GCC_LDBL_4.0.0 GCC_4.0.0 | 
 | GCC_LDBL_4.0.0 { | 
 |   __divtc3 | 
 |   __multc3 | 
 |   __powitf2 | 
 | } | 
 |  | 
 | %endif |