Home | History | Annotate | Line # | Download | only in rs6000
      1 SHLIB_MAPFILES += $(srcdir)/config/rs6000/libgcc-glibc.ver
      2 
      3 HOST_LIBGCC2_CFLAGS += -mlong-double-128
      4 
      5 # This is a way of selecting -mcmodel=small for ppc64, which gives
      6 # smaller and faster libgcc code.  Directly specifying -mcmodel=small
      7 # would need to take into account targets for which -mcmodel is invalid.
      8 HOST_LIBGCC2_CFLAGS += -mno-minimal-toc
      9 
     10 # On the modules that deal with IBM 128-bit values, make sure that TFmode uses
     11 # the IBM extended double format.  Also turn off gnu attributes on the static
     12 # modules.
     13 IBM128_STATIC_OBJS	= ibm-ldouble$(objext) _powitf2$(objext) \
     14 			  ppc64-fp$(objext) _divtc3$(objext) _multc3$(objext) \
     15 			  _fixtfdi$(objext) _fixunstfdi$(objext) \
     16 	                  _floatditf$(objext) _floatunditf$(objext) \
     17 			  _fixtfti$(objext) _fixunstfti$(objext) \
     18 	                  _floattitf$(objext) _floatuntitf$(objext)
     19 IBM128_SHARED_OBJS	= $(IBM128_STATIC_OBJS:$(objext)=_s$(objext))
     20 IBM128_OBJS		= $(IBM128_STATIC_OBJS) $(IBM128_SHARED_OBJS)
     21 
     22 IBM128_CFLAGS		= -Wno-psabi -mabi=ibmlongdouble -mno-gnu-attribute
     23 
     24 $(IBM128_OBJS) : INTERNAL_CFLAGS += $(IBM128_CFLAGS)
     25 
     26 # Turn off gnu attributes for long double size on all of the shared library
     27 # modules, but leave it on for the static modules, except for the functions
     28 # that explicitly process IBM 128-bit floating point.  Shared libraries only
     29 # have one gnu attribute for the whole library, and it can lead to warnings if
     30 # somebody changes the long double format.  We leave it on for the static
     31 # modules to catch mis-compilation errors.
     32 gcc_s_compile += -mno-gnu-attribute
     33