mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			94 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| # Copyright (C) 2002-2019 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
 |