From 554fd8c5195424bdbcabf5de30fdc183aba391bd Mon Sep 17 00:00:00 2001 From: upstream source tree Date: Sun, 15 Mar 2015 20:14:05 -0400 Subject: obtained gcc-4.6.4.tar.bz2 from upstream website; verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository. --- libgcc/config/ia64/__divxf3.asm | 11 +++++++ libgcc/config/ia64/_fixtfdi.asm | 11 +++++++ libgcc/config/ia64/_fixunstfdi.asm | 11 +++++++ libgcc/config/ia64/_floatditf.asm | 11 +++++++ libgcc/config/ia64/t-fprules-softfp | 2 ++ libgcc/config/ia64/t-ia64 | 18 +++++++++++ libgcc/config/ia64/t-softfp-compat | 7 +++++ libgcc/config/ia64/tf-signs.c | 60 +++++++++++++++++++++++++++++++++++++ 8 files changed, 131 insertions(+) create mode 100644 libgcc/config/ia64/__divxf3.asm create mode 100644 libgcc/config/ia64/_fixtfdi.asm create mode 100644 libgcc/config/ia64/_fixunstfdi.asm create mode 100644 libgcc/config/ia64/_floatditf.asm create mode 100644 libgcc/config/ia64/t-fprules-softfp create mode 100644 libgcc/config/ia64/t-ia64 create mode 100644 libgcc/config/ia64/t-softfp-compat create mode 100644 libgcc/config/ia64/tf-signs.c (limited to 'libgcc/config/ia64') diff --git a/libgcc/config/ia64/__divxf3.asm b/libgcc/config/ia64/__divxf3.asm new file mode 100644 index 000000000..f741bdaf9 --- /dev/null +++ b/libgcc/config/ia64/__divxf3.asm @@ -0,0 +1,11 @@ +#ifdef SHARED +#define __divtf3 __divtf3_compat +#endif + +#define L__divxf3 +#include "config/ia64/lib1funcs.asm" + +#ifdef SHARED +#undef __divtf3 +.symver __divtf3_compat, __divtf3@GCC_3.0 +#endif diff --git a/libgcc/config/ia64/_fixtfdi.asm b/libgcc/config/ia64/_fixtfdi.asm new file mode 100644 index 000000000..4d13c808c --- /dev/null +++ b/libgcc/config/ia64/_fixtfdi.asm @@ -0,0 +1,11 @@ +#ifdef SHARED +#define __fixtfti __fixtfti_compat +#endif + +#define L_fixtfdi +#include "config/ia64/lib1funcs.asm" + +#ifdef SHARED +#undef __fixtfti +.symver __fixtfti_compat, __fixtfti@GCC_3.0 +#endif diff --git a/libgcc/config/ia64/_fixunstfdi.asm b/libgcc/config/ia64/_fixunstfdi.asm new file mode 100644 index 000000000..b722d9e90 --- /dev/null +++ b/libgcc/config/ia64/_fixunstfdi.asm @@ -0,0 +1,11 @@ +#ifdef SHARED +#define __fixunstfti __fixunstfti_compat +#endif + +#define L_fixunstfdi +#include "config/ia64/lib1funcs.asm" + +#ifdef SHARED +#undef __fixunstfti +.symver __fixunstfti_compat, __fixunstfti@GCC_3.0 +#endif diff --git a/libgcc/config/ia64/_floatditf.asm b/libgcc/config/ia64/_floatditf.asm new file mode 100644 index 000000000..21d770281 --- /dev/null +++ b/libgcc/config/ia64/_floatditf.asm @@ -0,0 +1,11 @@ +#ifdef SHARED +#define __floattitf __floattitf_compat +#endif + +#define L_floatditf +#include "config/ia64/lib1funcs.asm" + +#ifdef SHARED +#undef __floattitf +.symver __floattitf_compat, __floattitf@GCC_3.0 +#endif diff --git a/libgcc/config/ia64/t-fprules-softfp b/libgcc/config/ia64/t-fprules-softfp new file mode 100644 index 000000000..90acc376e --- /dev/null +++ b/libgcc/config/ia64/t-fprules-softfp @@ -0,0 +1,2 @@ +# Provide fallbacks for __builtin_copysignq and __builtin_fabsq. +LIB2ADD += $(srcdir)/config/ia64/tf-signs.c diff --git a/libgcc/config/ia64/t-ia64 b/libgcc/config/ia64/t-ia64 new file mode 100644 index 000000000..d9c7566cf --- /dev/null +++ b/libgcc/config/ia64/t-ia64 @@ -0,0 +1,18 @@ +CUSTOM_CRTSTUFF = yes + +# Assemble startup files. +crtbegin.o: $(gcc_srcdir)/config/ia64/crtbegin.asm + $(CC) $(compile_deps) -I. -I$(gcc_objdir) -c -x assembler-with-cpp \ + -o $@ $(gcc_srcdir)/config/ia64/crtbegin.asm +crtend.o: $(gcc_srcdir)/config/ia64/crtend.asm + $(CC) $(compile_deps) -I. -I$(gcc_objdir) -c -x assembler-with-cpp \ + -o $@ $(gcc_srcdir)/config/ia64/crtend.asm +crtbeginS.o: $(gcc_srcdir)/config/ia64/crtbegin.asm + $(CC) $(compile_deps) -I. -I$(gcc_objdir) -c -x assembler-with-cpp \ + -o $@ -DSHARED $(gcc_srcdir)/config/ia64/crtbegin.asm +crtendS.o: $(gcc_srcdir)/config/ia64/crtend.asm + $(CC) $(compile_deps) -I. -I$(gcc_objdir) -c -x assembler-with-cpp \ + -o $@ -DSHARED $(gcc_srcdir)/config/ia64/crtend.asm + +crtfastmath.o: $(gcc_srcdir)/config/ia64/crtfastmath.c + $(gcc_compile) -c $(gcc_srcdir)/config/ia64/crtfastmath.c diff --git a/libgcc/config/ia64/t-softfp-compat b/libgcc/config/ia64/t-softfp-compat new file mode 100644 index 000000000..d3dad68c4 --- /dev/null +++ b/libgcc/config/ia64/t-softfp-compat @@ -0,0 +1,7 @@ +# Filter out the following TImode functions and provide backward binary +# compatibility. +# Replace __dvxf3 _fixtfdi _fixunstfdi _floatditf +libgcc1-tf-functions = __divxf3 _fixtfdi _fixunstfdi _floatditf +LIB1ASMFUNCS := $(filter-out $(libgcc1-tf-functions), $(LIB1ASMFUNCS)) +libgcc1-tf-compats = $(addsuffix .asm, $(libgcc1-tf-functions)) +LIB2ADD += $(addprefix $(srcdir)/config/ia64/, $(libgcc1-tf-compats)) diff --git a/libgcc/config/ia64/tf-signs.c b/libgcc/config/ia64/tf-signs.c new file mode 100644 index 000000000..bbcae503e --- /dev/null +++ b/libgcc/config/ia64/tf-signs.c @@ -0,0 +1,60 @@ +/* Copyright (C) 2008, 2009 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. + +Under Section 7 of GPL version 3, you are granted additional +permissions described in the GCC Runtime Library Exception, version +3.1, as published by the Free Software Foundation. + +You should have received a copy of the GNU General Public License and +a copy of the GCC Runtime Library Exception along with this program; +see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +. */ + +union _FP_UNION_Q +{ + __float128 flt; + struct + { + unsigned long frac1 : 64; + unsigned long frac0 : 48; + unsigned exp : 15; + unsigned sign : 1; + } bits __attribute__((packed)); +}; + +__float128 __copysigntf3 (__float128, __float128); +__float128 __fabstf2 (__float128); + +__float128 +__copysigntf3 (__float128 a, __float128 b) +{ + union _FP_UNION_Q A, B; + + A.flt = a; + B.flt = b; + A.bits.sign = B.bits.sign; + + return A.flt; +} + +__float128 +__fabstf2 (__float128 a) +{ + union _FP_UNION_Q A; + + A.flt = a; + A.bits.sign = 0; + + return A.flt; +} -- cgit v1.2.3