t-linux 1.5 KB

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