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