diff -Nru pcc-libs-1.2.0~DEVEL+20180604/configure pcc-libs-1.2.0~DEVEL+20200614/configure --- pcc-libs-1.2.0~DEVEL+20180604/configure 2016-10-11 15:51:45.000000000 +0000 +++ pcc-libs-1.2.0~DEVEL+20200614/configure 2020-06-13 14:54:58.000000000 +0000 @@ -2001,6 +2001,7 @@ i?86) targmach=i386 ;; powerpc*) targmach=powerpc endian=big ;; x86_64) targmach=amd64 ;; + aarch64) targmach=aarch64 ;; esac ;; @@ -2054,6 +2055,7 @@ powerpc) targmach=powerpc endian=big ;; sparc64) targmach=sparc64 endian=big ;; vax) targmach=vax ;; + x86_64) targmach=amd64 ;; esac ;; diff -Nru pcc-libs-1.2.0~DEVEL+20180604/configure.ac pcc-libs-1.2.0~DEVEL+20200614/configure.ac --- pcc-libs-1.2.0~DEVEL+20180604/configure.ac 2016-10-11 15:51:45.000000000 +0000 +++ pcc-libs-1.2.0~DEVEL+20200614/configure.ac 2020-06-13 14:54:58.000000000 +0000 @@ -48,6 +48,7 @@ i?86) targmach=i386 ;; powerpc*) targmach=powerpc endian=big ;; x86_64) targmach=amd64 ;; + aarch64) targmach=aarch64 ;; esac ;; @@ -101,6 +102,7 @@ powerpc) targmach=powerpc endian=big ;; sparc64) targmach=sparc64 endian=big ;; vax) targmach=vax ;; + x86_64) targmach=amd64 ;; esac ;; diff -Nru pcc-libs-1.2.0~DEVEL+20180604/CVS/Entries pcc-libs-1.2.0~DEVEL+20200614/CVS/Entries --- pcc-libs-1.2.0~DEVEL+20180604/CVS/Entries 2018-06-04 01:00:03.000000000 +0000 +++ pcc-libs-1.2.0~DEVEL+20200614/CVS/Entries 2020-06-14 01:00:04.000000000 +0000 @@ -1,8 +1,8 @@ /Makefile.in/1.5/Sun Aug 21 09:00:54 2011// /config.guess/1.3/Wed Apr 6 16:22:21 2016// /config.sub/1.2/Wed Apr 6 16:22:21 2016// -/configure/1.25/Tue Oct 11 15:51:45 2016// -/configure.ac/1.25/Tue Oct 11 15:51:45 2016// +/configure/1.27/Sat Jun 13 14:54:58 2020// +/configure.ac/1.27/Sat Jun 13 14:54:58 2020// /install-sh/1.1/Tue May 20 05:29:06 2008// D/csu//// D/libF77//// diff -Nru pcc-libs-1.2.0~DEVEL+20180604/debian/changelog pcc-libs-1.2.0~DEVEL+20200614/debian/changelog --- pcc-libs-1.2.0~DEVEL+20180604/debian/changelog 2019-01-09 19:44:34.000000000 +0000 +++ pcc-libs-1.2.0~DEVEL+20200614/debian/changelog 2020-08-24 00:58:32.000000000 +0000 @@ -1,3 +1,13 @@ +pcc-libs (1.2.0~DEVEL+20200614-1) unstable; urgency=medium + + * New upstream release + * Fix FTBFS (Closes: #966975) + * Bump Standards-Version to 4.5.0 + * Bump debhelper compat to 13 + * Add upstream metadata + + -- Yangfl Mon, 24 Aug 2020 08:58:32 +0800 + pcc-libs (1.2.0~DEVEL+20180604-2.1) unstable; urgency=medium * Non-maintainer upload. diff -Nru pcc-libs-1.2.0~DEVEL+20180604/debian/compat pcc-libs-1.2.0~DEVEL+20200614/debian/compat --- pcc-libs-1.2.0~DEVEL+20180604/debian/compat 2019-01-07 15:09:00.000000000 +0000 +++ pcc-libs-1.2.0~DEVEL+20200614/debian/compat 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -12 diff -Nru pcc-libs-1.2.0~DEVEL+20180604/debian/control pcc-libs-1.2.0~DEVEL+20200614/debian/control --- pcc-libs-1.2.0~DEVEL+20180604/debian/control 2019-01-09 19:44:34.000000000 +0000 +++ pcc-libs-1.2.0~DEVEL+20200614/debian/control 2020-08-24 00:58:32.000000000 +0000 @@ -2,10 +2,10 @@ Priority: optional Maintainer: Yangfl Build-Depends: - debhelper (>= 12~), - gcc-multilib, + debhelper-compat (= 13), pcc, -Standards-Version: 4.3.0 +Rules-Requires-Root: no +Standards-Version: 4.5.0 Section: libs Homepage: http://pcc.ludd.ltu.se/ Vcs-Git: https://salsa.debian.org/yangfl-guest/pcc-libs.git diff -Nru pcc-libs-1.2.0~DEVEL+20180604/debian/gbp.conf pcc-libs-1.2.0~DEVEL+20200614/debian/gbp.conf --- pcc-libs-1.2.0~DEVEL+20180604/debian/gbp.conf 1970-01-01 00:00:00.000000000 +0000 +++ pcc-libs-1.2.0~DEVEL+20200614/debian/gbp.conf 2020-08-24 00:58:32.000000000 +0000 @@ -0,0 +1,4 @@ +[DEFAULT] +upstream-branch = upstream +debian-branch = master +pristine-tar = True diff -Nru pcc-libs-1.2.0~DEVEL+20180604/debian/gitlab-ci.yml pcc-libs-1.2.0~DEVEL+20200614/debian/gitlab-ci.yml --- pcc-libs-1.2.0~DEVEL+20180604/debian/gitlab-ci.yml 1970-01-01 00:00:00.000000000 +0000 +++ pcc-libs-1.2.0~DEVEL+20200614/debian/gitlab-ci.yml 2020-08-24 00:58:32.000000000 +0000 @@ -0,0 +1,3 @@ +include: + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml diff -Nru pcc-libs-1.2.0~DEVEL+20180604/debian/patches/0001-buggy-bits-floatn-h.patch pcc-libs-1.2.0~DEVEL+20200614/debian/patches/0001-buggy-bits-floatn-h.patch --- pcc-libs-1.2.0~DEVEL+20180604/debian/patches/0001-buggy-bits-floatn-h.patch 2018-12-02 06:22:28.000000000 +0000 +++ pcc-libs-1.2.0~DEVEL+20200614/debian/patches/0001-buggy-bits-floatn-h.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -diff --git a/libpcc/ssp.c b/libpcc/ssp.c -index cc655b8..08705fb 100644 ---- a/libpcc/ssp.c -+++ b/libpcc/ssp.c -@@ -15,6 +15,8 @@ - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -+typedef float __float128; -+ - #include - #include - #include -diff --git a/libpcc/unwind.c b/libpcc/unwind.c -index 283318d..e2b6fbf 100644 ---- a/libpcc/unwind.c -+++ b/libpcc/unwind.c -@@ -1,3 +1,5 @@ -+typedef float __float128; -+ - #include - #include - diff -Nru pcc-libs-1.2.0~DEVEL+20180604/debian/patches/series pcc-libs-1.2.0~DEVEL+20200614/debian/patches/series --- pcc-libs-1.2.0~DEVEL+20180604/debian/patches/series 2018-12-02 06:22:28.000000000 +0000 +++ pcc-libs-1.2.0~DEVEL+20200614/debian/patches/series 2020-08-24 00:58:32.000000000 +0000 @@ -1,2 +1 @@ -0001-buggy-bits-floatn-h.patch 0002-libsoftfloat-endian-h-path.patch diff -Nru pcc-libs-1.2.0~DEVEL+20180604/debian/rules pcc-libs-1.2.0~DEVEL+20200614/debian/rules --- pcc-libs-1.2.0~DEVEL+20180604/debian/rules 2018-12-02 06:22:28.000000000 +0000 +++ pcc-libs-1.2.0~DEVEL+20200614/debian/rules 2020-08-24 00:58:32.000000000 +0000 @@ -5,7 +5,7 @@ export DEB_BUILD_MAINT_OPTIONS = hardening=+all export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic -export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed +export DEB_LDFLAGS_MAINT_APPEND = %: diff -Nru pcc-libs-1.2.0~DEVEL+20180604/debian/upstream/metadata pcc-libs-1.2.0~DEVEL+20200614/debian/upstream/metadata --- pcc-libs-1.2.0~DEVEL+20180604/debian/upstream/metadata 1970-01-01 00:00:00.000000000 +0000 +++ pcc-libs-1.2.0~DEVEL+20200614/debian/upstream/metadata 2020-08-24 00:58:32.000000000 +0000 @@ -0,0 +1,2 @@ +Documentation: http://pcc.ludd.ltu.se/documentation/ +Repository: :pserver:anonymous@pcc.ludd.ltu.se:/cvsroot co pcc-libs diff -Nru pcc-libs-1.2.0~DEVEL+20180604/libpcc/CVS/Entries pcc-libs-1.2.0~DEVEL+20200614/libpcc/CVS/Entries --- pcc-libs-1.2.0~DEVEL+20180604/libpcc/CVS/Entries 2018-06-04 01:00:03.000000000 +0000 +++ pcc-libs-1.2.0~DEVEL+20200614/libpcc/CVS/Entries 2020-06-14 01:00:04.000000000 +0000 @@ -1,4 +1,4 @@ -/Makefile.in/1.23/Sun Mar 13 16:12:12 2016// +/Makefile.in/1.24/Fri Jul 27 16:30:00 2018// /_alloca.c/1.4/Sun Mar 15 00:20:41 2009// /_ftol.asm/1.1/Sun Mar 15 00:17:16 2009// /_ftol.c/1.2/Sat Mar 28 07:04:06 2009// @@ -7,7 +7,7 @@ /ashldi3.c/1.3/Sun Mar 15 00:20:41 2009// /ashrdi3.c/1.3/Sun Mar 15 00:20:41 2009// /cmpdi2.c/1.3/Sun Mar 15 00:20:41 2009// -/cxmuldiv.c/1.3/Tue Dec 29 10:19:52 2015// +/cxmuldiv.c/1.4/Sat Jun 13 14:54:58 2020// /divdi3.c/1.3/Sun Mar 15 00:20:41 2009// /fixdfdi.c/1.3/Sun Mar 15 00:20:41 2009// /fixsfdi.c/1.3/Sun Mar 15 00:20:41 2009// @@ -25,6 +25,7 @@ /notdi2.c/1.3/Sun Mar 15 00:20:42 2009// /qdivrem.c/1.3/Sun Mar 15 00:20:42 2009// /quad.h/1.10/Sun Mar 13 09:54:49 2016// +/signbit.c/1.1/Fri Jul 27 16:30:00 2018// /ssp.c/1.11/Tue May 17 00:19:19 2011// /subdi3.c/1.3/Sun Mar 15 00:20:42 2009// /ucmpdi2.c/1.3/Sun Mar 15 00:20:42 2009// diff -Nru pcc-libs-1.2.0~DEVEL+20180604/libpcc/cxmuldiv.c pcc-libs-1.2.0~DEVEL+20200614/libpcc/cxmuldiv.c --- pcc-libs-1.2.0~DEVEL+20180604/libpcc/cxmuldiv.c 2015-12-29 10:19:52.000000000 +0000 +++ pcc-libs-1.2.0~DEVEL+20200614/libpcc/cxmuldiv.c 2020-06-13 14:54:58.000000000 +0000 @@ -1,4 +1,4 @@ -/* $Id: cxmuldiv.c,v 1.3 2015/12/29 10:19:52 ragge Exp $ */ +/* $Id: cxmuldiv.c,v 1.4 2020/06/13 14:54:58 ragge Exp $ */ /* * Copyright (c) 2014 Anders Magnusson (ragge@ludd.luth.se). * All rights reserved. @@ -428,7 +428,7 @@ #define dlh i[3] #endif -#if defined(mach_amd64) || defined(mach_i386) || defined(mach_mips) +#if defined(mach_aarch64) || defined(mach_amd64) || defined(mach_i386) || defined(mach_mips) #define LDBL_SIGN 0x8000U #define LDBL_EXP 0x7fffU #define LDBL_MANT 0x0U diff -Nru pcc-libs-1.2.0~DEVEL+20180604/libpcc/include/CVS/Entries pcc-libs-1.2.0~DEVEL+20200614/libpcc/include/CVS/Entries --- pcc-libs-1.2.0~DEVEL+20180604/libpcc/include/CVS/Entries 2018-06-04 01:00:03.000000000 +0000 +++ pcc-libs-1.2.0~DEVEL+20200614/libpcc/include/CVS/Entries 2020-06-14 01:00:04.000000000 +0000 @@ -1,6 +1,6 @@ /float.h/1.2/Fri Jul 18 03:11:27 2008// /iso646.h/1.1/Sat Feb 19 17:40:30 2011// -/libpcc_float.h/1.6/Sat May 3 10:40:05 2014// +/libpcc_float.h/1.7/Sat Aug 24 13:41:09 2019// /libpcc_limits.h/1.4/Sat Feb 19 08:47:13 2011// /libpcc_stdarg.h/1.7/Mon Nov 8 07:41:22 2010// /libpcc_stdbool.h/1.3/Sat May 16 03:56:18 2009// diff -Nru pcc-libs-1.2.0~DEVEL+20180604/libpcc/include/libpcc_float.h pcc-libs-1.2.0~DEVEL+20200614/libpcc/include/libpcc_float.h --- pcc-libs-1.2.0~DEVEL+20180604/libpcc/include/libpcc_float.h 2014-05-03 10:40:05.000000000 +0000 +++ pcc-libs-1.2.0~DEVEL+20200614/libpcc/include/libpcc_float.h 2019-08-24 13:41:09.000000000 +0000 @@ -22,55 +22,44 @@ #define FLT_RADIX 2 -/* IEEE float */ -#define FLT_MANT_DIG 24 -#define FLT_DIG 6 -#define FLT_ROUNDS 1 -#define FLT_EPSILON 1.19209290e-07F -#define FLT_MIN_EXP (-125) -#define FLT_MIN 1.17549435e-38F -#define FLT_MIN_10_EXP (-37) -#define FLT_MAX_EXP 128 -#define FLT_MAX 3.40282347e+38F -#define FLT_MAX_10_EXP 38 - -/* IEEE double */ -#define DBL_MANT_DIG 53 -#define DBL_DIG 15 -#define DBL_EPSILON 2.2204460492503131e-16 -#define DBL_MIN_EXP (-1021) -#define DBL_MIN 2.2250738585072014e-308 -#define DBL_MIN_10_EXP (-307) -#define DBL_MAX_EXP 1024 -#define DBL_MAX 1.7976931348623157e+308 -#define DBL_MAX_10_EXP 308 - -#if defined(__i386__) || defined(__x86_64__) - -/* intel long double */ -#define LDBL_MANT_DIG 64 -#define LDBL_DIG 18 -#define LDBL_EPSILON 1.08420217248550443401e-19L -#define LDBL_MIN_EXP (-16381) -#define LDBL_MIN 3.36210314311209350626e-4932L -#define LDBL_MIN_10_EXP (-4931) -#define LDBL_MAX_EXP 16384 -#define LDBL_MAX 1.18973149535723176502e+4932L -#define LDBL_MAX_10_EXP 4932 - -#else - -/* same as IEEE double */ -#define LDBL_MANT_DIG 53 -#define LDBL_DIG 15 -#define LDBL_EPSILON 2.2204460492503131e-16 -#define LDBL_MIN_EXP (-1021) -#define LDBL_MIN 2.2250738585072014e-308 -#define LDBL_MIN_10_EXP (-307) -#define LDBL_MAX_EXP 1024 -#define LDBL_MAX 1.7976931348623157e+308 -#define LDBL_MAX_10_EXP 308 +#define FLT_HAS_SUBNORM __FLT_HAS_SUBNORM__ +#define FLT_MANT_DIG __FLT_MANT_DIG__ +#define FLT_DIG __FLT_DIG__ +#define FLT_ROUNDS __FLT_ROUNDS__ +#define FLT_EPSILON __FLT_EPSILON__ +#define FLT_MIN_EXP __FLT_MIN_EXP__ +#define FLT_MIN __FLT_MIN__ +#define FLT_MIN_10_EXP __FLT_MIN_10_EXP__ +#define FLT_MAX_EXP __FLT_MAX_EXP__ +#define FLT_MAX __FLT_MAX__ +#define FLT_MAX_10_EXP __FLT_MAX_10_EXP__ +#define FLT_TRUE_MIN __FLT_TRUE_MIN__ + +#define DBL_HAS_SUBNORM __DBL_HAS_SUBNORM__ +#define DBL_MANT_DIG __DBL_MANT_DIG__ +#define DBL_DIG __DBL_DIG__ +#define DBL_ROUNDS __DBL_ROUNDS__ +#define DBL_EPSILON __DBL_EPSILON__ +#define DBL_MIN_EXP __DBL_MIN_EXP__ +#define DBL_MIN __DBL_MIN__ +#define DBL_MIN_10_EXP __DBL_MIN_10_EXP__ +#define DBL_MAX_EXP __DBL_MAX_EXP__ +#define DBL_MAX __DBL_MAX__ +#define DBL_MAX_10_EXP __DBL_MAX_10_EXP__ +#define DBL_TRUE_MIN __DBL_TRUE_MIN__ + +#define LDBL_HAS_SUBNORM __LDBL_HAS_SUBNORM__ +#define LDBL_MANT_DIG __LDBL_MANT_DIG__ +#define LDBL_DIG __LDBL_DIG__ +#define LDBL_ROUNDS __LDBL_ROUNDS__ +#define LDBL_EPSILON __LDBL_EPSILON__ +#define LDBL_MIN_EXP __LDBL_MIN_EXP__ +#define LDBL_MIN __LDBL_MIN__ +#define LDBL_MIN_10_EXP __LDBL_MIN_10_EXP__ +#define LDBL_MAX_EXP __LDBL_MAX_EXP__ +#define LDBL_MAX __LDBL_MAX__ +#define LDBL_MAX_10_EXP __LDBL_MAX_10_EXP__ +#define LDBL_TRUE_MIN __LDBL_TRUE_MIN__ -#endif #endif diff -Nru pcc-libs-1.2.0~DEVEL+20180604/libpcc/Makefile.in pcc-libs-1.2.0~DEVEL+20200614/libpcc/Makefile.in --- pcc-libs-1.2.0~DEVEL+20180604/libpcc/Makefile.in 2016-03-13 16:12:12.000000000 +0000 +++ pcc-libs-1.2.0~DEVEL+20200614/libpcc/Makefile.in 2018-07-27 16:30:00.000000000 +0000 @@ -1,4 +1,4 @@ -# $Id: Makefile.in,v 1.23 2016/03/13 16:12:12 ragge Exp $ +# $Id: Makefile.in,v 1.24 2018/07/27 16:30:00 ragge Exp $ # # Makefile.in for libpcc.a # @@ -38,7 +38,7 @@ ucmpdi2.o udivdi3.o umoddi3.o cxmuldiv.o \ ashldi3.o ashrdi3.o lshrdi3.o \ _alloca.o unwind.o \ - ssp.o + ssp.o signbit.o DEST = libpcc.a diff -Nru pcc-libs-1.2.0~DEVEL+20180604/libpcc/signbit.c pcc-libs-1.2.0~DEVEL+20200614/libpcc/signbit.c --- pcc-libs-1.2.0~DEVEL+20180604/libpcc/signbit.c 1970-01-01 00:00:00.000000000 +0000 +++ pcc-libs-1.2.0~DEVEL+20200614/libpcc/signbit.c 2018-07-27 16:30:00.000000000 +0000 @@ -0,0 +1,52 @@ +/* $Id: signbit.c,v 1.1 2018/07/27 16:30:00 ragge Exp $ */ +/* + * Simple signbit extraction code. + * Written by Anders Magnusson. Public domain. + */ + +union sbit { + float f; + double d; + long double l; + unsigned u[4]; +}; + +int +__signbitf(float x) +{ + union sbit s; + + s.f = x; + return s.u[0] >> 31; +} + +int +__signbitd(double x) +{ + union sbit s; + + s.d = x; +#if __FLOAT_WORD_ORDER__ == __ORDER_LITTLE_ENDIAN__ + return s.u[1] >> 31; +#else + return s.u[0] >> 31; +#endif +} + +int +__signbitl(long double x) +{ + union sbit s; + + s.l = x; +#if __FLOAT_WORD_ORDER__ == __ORDER_LITTLE_ENDIAN__ +#if __i386__ || __amd64__ + return (s.u[2] >> 15) & 1; +#else + return s.u[3] >> 31; +#endif +#else + return s.u[0] >> 31; +#endif +} + diff -Nru pcc-libs-1.2.0~DEVEL+20180604/libsoftfloat/arch/aarch64/aarch64-gcc.h pcc-libs-1.2.0~DEVEL+20200614/libsoftfloat/arch/aarch64/aarch64-gcc.h --- pcc-libs-1.2.0~DEVEL+20180604/libsoftfloat/arch/aarch64/aarch64-gcc.h 1970-01-01 00:00:00.000000000 +0000 +++ pcc-libs-1.2.0~DEVEL+20200614/libsoftfloat/arch/aarch64/aarch64-gcc.h 2020-06-13 14:54:58.000000000 +0000 @@ -0,0 +1,115 @@ +/* $ aarch64-gcc.h,v 1.0 2020/06/03 09:11:16 $ */ + /* + * Copyright (c) 2020 Puresoftware Ltd. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* +------------------------------------------------------------------------------- +One of the macros `BIGENDIAN' or `LITTLEENDIAN' must be defined. +------------------------------------------------------------------------------- +*/ +#ifdef __ARMEB__ +#define BIGENDIAN +#else +#define LITTLEENDIAN +#endif + +/* +------------------------------------------------------------------------------- +The macro `BITS64' can be defined to indicate that 64-bit integer types are +supported by the compiler. +------------------------------------------------------------------------------- +*/ +#define BITS64 + +/* +------------------------------------------------------------------------------- +Each of the following `typedef's defines the most convenient type that holds +integers of at least as many bits as specified. For example, `uint8' should +be the most convenient type that can hold unsigned integers of as many as +8 bits. The `flag' type must be able to hold either a 0 or 1. For most +implementations of C, `flag', `uint8', and `int8' should all be `typedef'ed +to the same as `int'. +------------------------------------------------------------------------------- +*/ +typedef int flag; +typedef int uint8; +typedef int int8; +typedef int uint16; +typedef int int16; +typedef unsigned int uint32; +typedef signed int int32; +#ifdef BITS64 +typedef unsigned long long int uint64; +typedef signed long long int int64; +#endif + +/* +------------------------------------------------------------------------------- +Each of the following `typedef's defines a type that holds integers +of _exactly_ the number of bits specified. For instance, for most +implementation of C, `bits16' and `sbits16' should be `typedef'ed to +`unsigned short int' and `signed short int' (or `short int'), respectively. +------------------------------------------------------------------------------- +*/ +typedef unsigned char bits8; +typedef signed char sbits8; +typedef unsigned short int bits16; +typedef signed short int sbits16; +typedef unsigned int bits32; +typedef signed int sbits32; +#ifdef BITS64 +typedef unsigned long long int bits64; +typedef signed long long int sbits64; +#endif + +#ifdef BITS64 +/* +------------------------------------------------------------------------------- +The `LIT64' macro takes as its argument a textual integer literal and +if necessary ``marks'' the literal as having a 64-bit integer type. +For example, the GNU C Compiler (`gcc') requires that 64-bit literals be +appended with the letters `LL' standing for `long long', which is `gcc's +name for the 64-bit integer type. Some compilers may allow `LIT64' to be +defined as the identity macro: `#define LIT64( a ) a'. +------------------------------------------------------------------------------- +*/ +#define LIT64( a ) a##LL +#endif + +/* +------------------------------------------------------------------------------- +The macro `INLINE' can be used before functions that should be inlined. If +a compiler does not support explicit inlining, this macro should be defined +to be `static'. +------------------------------------------------------------------------------- +*/ +#define INLINE static inline + +/* +------------------------------------------------------------------------------- +The ARM FPA is odd in that it stores doubles high-order word first, no matter +what the endianness of the CPU. VFP is sane. +------------------------------------------------------------------------------- +*/ +#if defined(SOFTFLOAT_FOR_GCC) +#if defined(__VFP_FP__) || defined(__ARMEB__) +#define FLOAT64_DEMANGLE(a) (a) +#define FLOAT64_MANGLE(a) (a) +#else +#define FLOAT64_DEMANGLE(a) (((a) << 32) | ((a) >> 32)) +#define FLOAT64_MANGLE(a) FLOAT64_DEMANGLE(a) +#endif +#endif diff -Nru pcc-libs-1.2.0~DEVEL+20180604/libsoftfloat/arch/aarch64/CVS/Entries pcc-libs-1.2.0~DEVEL+20200614/libsoftfloat/arch/aarch64/CVS/Entries --- pcc-libs-1.2.0~DEVEL+20180604/libsoftfloat/arch/aarch64/CVS/Entries 1970-01-01 00:00:00.000000000 +0000 +++ pcc-libs-1.2.0~DEVEL+20200614/libsoftfloat/arch/aarch64/CVS/Entries 2020-06-14 01:00:04.000000000 +0000 @@ -0,0 +1,5 @@ +/aarch64-gcc.h/1.1/Sat Jun 13 14:54:58 2020// +/ieeefp.h/1.1/Sat Jun 13 14:54:58 2020// +/milieu.h/1.1/Sat Jun 13 14:54:58 2020// +/softfloat.h/1.1/Sat Jun 13 14:54:58 2020// +D diff -Nru pcc-libs-1.2.0~DEVEL+20180604/libsoftfloat/arch/aarch64/CVS/Repository pcc-libs-1.2.0~DEVEL+20200614/libsoftfloat/arch/aarch64/CVS/Repository --- pcc-libs-1.2.0~DEVEL+20180604/libsoftfloat/arch/aarch64/CVS/Repository 1970-01-01 00:00:00.000000000 +0000 +++ pcc-libs-1.2.0~DEVEL+20200614/libsoftfloat/arch/aarch64/CVS/Repository 2020-06-14 01:00:04.000000000 +0000 @@ -0,0 +1 @@ +pcc-libs/libsoftfloat/arch/aarch64 diff -Nru pcc-libs-1.2.0~DEVEL+20180604/libsoftfloat/arch/aarch64/CVS/Root pcc-libs-1.2.0~DEVEL+20200614/libsoftfloat/arch/aarch64/CVS/Root --- pcc-libs-1.2.0~DEVEL+20180604/libsoftfloat/arch/aarch64/CVS/Root 1970-01-01 00:00:00.000000000 +0000 +++ pcc-libs-1.2.0~DEVEL+20200614/libsoftfloat/arch/aarch64/CVS/Root 2020-06-14 01:00:04.000000000 +0000 @@ -0,0 +1 @@ +/cvsroot diff -Nru pcc-libs-1.2.0~DEVEL+20180604/libsoftfloat/arch/aarch64/ieeefp.h pcc-libs-1.2.0~DEVEL+20200614/libsoftfloat/arch/aarch64/ieeefp.h --- pcc-libs-1.2.0~DEVEL+20180604/libsoftfloat/arch/aarch64/ieeefp.h 1970-01-01 00:00:00.000000000 +0000 +++ pcc-libs-1.2.0~DEVEL+20200614/libsoftfloat/arch/aarch64/ieeefp.h 2020-06-13 14:54:58.000000000 +0000 @@ -0,0 +1,36 @@ +/* $ ieeefp.h,v 1.0 2020/06/03 09:26:10 $ */ + /* + * Copyright (c) 2020 Puresoftware Ltd. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _AARCH64_IEEEFP_H_ +#define _AARCH64_IEEEFP_H_ + +typedef int fp_except; +#define FP_X_INV 8 /* invalid operation exception */ +#define FP_X_DNML 15 /* denormalization exception */ +#define FP_X_DZ 9 /* divide-by-zero exception */ +#define FP_X_OFL 10 /* overflow exception */ +#define FP_X_UFL 11 /* underflow exception */ +#define FP_X_IMP 12 /* imprecise (loss of precision) */ + +typedef enum { + FP_RN=(0 << 22), /* round to nearest representable number */ + FP_RM=(1 << 22), /* round toward negative infinity */ + FP_RP=(2 << 22), /* round toward positive infinity */ + FP_RZ=(3 << 22) /* round to zero (truncate) */ +} fp_rnd; + +#endif /* _AARCH64_IEEEFP_H_ */ diff -Nru pcc-libs-1.2.0~DEVEL+20180604/libsoftfloat/arch/aarch64/milieu.h pcc-libs-1.2.0~DEVEL+20200614/libsoftfloat/arch/aarch64/milieu.h --- pcc-libs-1.2.0~DEVEL+20180604/libsoftfloat/arch/aarch64/milieu.h 1970-01-01 00:00:00.000000000 +0000 +++ pcc-libs-1.2.0~DEVEL+20200614/libsoftfloat/arch/aarch64/milieu.h 2020-06-13 14:54:58.000000000 +0000 @@ -0,0 +1,33 @@ +/* $ milieu.h,v 1.0 2020/06/03 09:13:54 $ */ +/* + * Copyright (c) 2020 Puresoftware Ltd. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* +------------------------------------------------------------------------------- +Include common integer types and flags. +------------------------------------------------------------------------------- +*/ +#include "aarch64-gcc.h" + +/* +------------------------------------------------------------------------------- +Symbolic Boolean literals. +------------------------------------------------------------------------------- +*/ +enum { + FALSE = 0, + TRUE = 1 +}; diff -Nru pcc-libs-1.2.0~DEVEL+20180604/libsoftfloat/arch/aarch64/softfloat.h pcc-libs-1.2.0~DEVEL+20200614/libsoftfloat/arch/aarch64/softfloat.h --- pcc-libs-1.2.0~DEVEL+20180604/libsoftfloat/arch/aarch64/softfloat.h 1970-01-01 00:00:00.000000000 +0000 +++ pcc-libs-1.2.0~DEVEL+20200614/libsoftfloat/arch/aarch64/softfloat.h 2020-06-13 14:54:58.000000000 +0000 @@ -0,0 +1,297 @@ +/* $ softfloat.h,v 1.0 2020/06/03 09:55:51 $ */ +/* + * Copyright (c) 2020 Puresoftware Ltd. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* +------------------------------------------------------------------------------- +The macro `FLOATX80' must be defined to enable the extended double-precision +floating-point format `floatx80'. If this macro is not defined, the +`floatx80' type will not be defined, and none of the functions that either +input or output the `floatx80' type will be defined. The same applies to +the `FLOAT128' macro and the quadruple-precision format `float128'. +------------------------------------------------------------------------------- +*/ +/* #define FLOATX80 */ +/* #define FLOAT128 */ + +#include + +/* +------------------------------------------------------------------------------- +Software IEC/IEEE floating-point types. +------------------------------------------------------------------------------- +*/ +typedef unsigned int float32; +typedef unsigned long long float64; +#ifdef FLOATX80 +typedef struct { + unsigned short high; + unsigned long long low; +} floatx80; +#endif +#ifdef FLOAT128 +typedef struct { + unsigned long long high, low; +} float128; +#endif + +/* +------------------------------------------------------------------------------- +Software IEC/IEEE floating-point underflow tininess-detection mode. +------------------------------------------------------------------------------- +*/ +#ifndef SOFTFLOAT_FOR_GCC +extern int float_detect_tininess; +#endif +enum { + float_tininess_after_rounding = 0, + float_tininess_before_rounding = 1 +}; + +/* +------------------------------------------------------------------------------- +Software IEC/IEEE floating-point rounding mode. +------------------------------------------------------------------------------- +*/ +extern fp_rnd float_rounding_mode; +enum { + float_round_nearest_even = FP_RN, + float_round_to_zero = FP_RZ, + float_round_down = FP_RM, + float_round_up = FP_RP +}; + +/* +------------------------------------------------------------------------------- +Software IEC/IEEE floating-point exception flags. +------------------------------------------------------------------------------- +*/ +extern fp_except float_exception_flags; +extern fp_except float_exception_mask; +enum { + float_flag_inexact = FP_X_IMP, + float_flag_underflow = FP_X_UFL, + float_flag_overflow = FP_X_OFL, + float_flag_divbyzero = FP_X_DZ, + float_flag_invalid = FP_X_INV +}; + +/* +------------------------------------------------------------------------------- +Routine to raise any or all of the software IEC/IEEE floating-point +exception flags. +------------------------------------------------------------------------------- +*/ +void float_raise( fp_except ); + +/* +------------------------------------------------------------------------------- +Software IEC/IEEE integer-to-floating-point conversion routines. +------------------------------------------------------------------------------- +*/ +float32 int32_to_float32( int ); +float64 int32_to_float64( int ); +#ifdef FLOATX80 +floatx80 int32_to_floatx80( int ); +#endif +#ifdef FLOAT128 +float128 int32_to_float128( int ); +#endif +#ifndef SOFTFLOAT_FOR_GCC /* __floatdi?f is in libgcc2.c */ +float32 int64_to_float32( long long ); +float64 int64_to_float64( long long ); +#ifdef FLOATX80 +floatx80 int64_to_floatx80( long long ); +#endif +#ifdef FLOAT128 +float128 int64_to_float128( long long ); +#endif +#endif + +/* +------------------------------------------------------------------------------- +Software IEC/IEEE single-precision conversion routines. +------------------------------------------------------------------------------- +*/ +int float32_to_int32( float32 ); +int float32_to_int32_round_to_zero( float32 ); +#if defined(SOFTFLOAT_FOR_GCC) && defined(SOFTFLOAT_NEED_FIXUNS) +unsigned int float32_to_uint32_round_to_zero( float32 ); +#endif +#ifndef SOFTFLOAT_FOR_GCC /* __fix?fdi provided by libgcc2.c */ +long long float32_to_int64( float32 ); +long long float32_to_int64_round_to_zero( float32 ); +#endif +float64 float32_to_float64( float32 ); +#ifdef FLOATX80 +floatx80 float32_to_floatx80( float32 ); +#endif +#ifdef FLOAT128 +float128 float32_to_float128( float32 ); +#endif + +/* +------------------------------------------------------------------------------- +Software IEC/IEEE single-precision operations. +------------------------------------------------------------------------------- +*/ +float32 float32_round_to_int( float32 ); +float32 float32_add( float32, float32 ); +float32 float32_sub( float32, float32 ); +float32 float32_mul( float32, float32 ); +float32 float32_div( float32, float32 ); +float32 float32_rem( float32, float32 ); +float32 float32_sqrt( float32 ); +int float32_eq( float32, float32 ); +int float32_le( float32, float32 ); +int float32_lt( float32, float32 ); +int float32_eq_signaling( float32, float32 ); +int float32_le_quiet( float32, float32 ); +int float32_lt_quiet( float32, float32 ); +#ifndef SOFTFLOAT_FOR_GCC +int float32_is_signaling_nan( float32 ); +#endif + +/* +------------------------------------------------------------------------------- +Software IEC/IEEE double-precision conversion routines. +------------------------------------------------------------------------------- +*/ +int float64_to_int32( float64 ); +int float64_to_int32_round_to_zero( float64 ); +#if defined(SOFTFLOAT_FOR_GCC) && defined(SOFTFLOAT_NEED_FIXUNS) +unsigned int float64_to_uint32_round_to_zero( float64 ); +#endif +#ifndef SOFTFLOAT_FOR_GCC /* __fix?fdi provided by libgcc2.c */ +long long float64_to_int64( float64 ); +long long float64_to_int64_round_to_zero( float64 ); +#endif +float32 float64_to_float32( float64 ); +#ifdef FLOATX80 +floatx80 float64_to_floatx80( float64 ); +#endif +#ifdef FLOAT128 +float128 float64_to_float128( float64 ); +#endif + +/* +------------------------------------------------------------------------------- +Software IEC/IEEE double-precision operations. +------------------------------------------------------------------------------- +*/ +float64 float64_round_to_int( float64 ); +float64 float64_add( float64, float64 ); +float64 float64_sub( float64, float64 ); +float64 float64_mul( float64, float64 ); +float64 float64_div( float64, float64 ); +float64 float64_rem( float64, float64 ); +float64 float64_sqrt( float64 ); +int float64_eq( float64, float64 ); +int float64_le( float64, float64 ); +int float64_lt( float64, float64 ); +int float64_eq_signaling( float64, float64 ); +int float64_le_quiet( float64, float64 ); +int float64_lt_quiet( float64, float64 ); +#ifndef SOFTFLOAT_FOR_GCC +int float64_is_signaling_nan( float64 ); +#endif + +#ifdef FLOATX80 + +/* +------------------------------------------------------------------------------- +Software IEC/IEEE extended double-precision conversion routines. +------------------------------------------------------------------------------- +*/ +int floatx80_to_int32( floatx80 ); +int floatx80_to_int32_round_to_zero( floatx80 ); +long long floatx80_to_int64( floatx80 ); +long long floatx80_to_int64_round_to_zero( floatx80 ); +float32 floatx80_to_float32( floatx80 ); +float64 floatx80_to_float64( floatx80 ); +#ifdef FLOAT128 +float128 floatx80_to_float128( floatx80 ); +#endif + +/* +------------------------------------------------------------------------------- +Software IEC/IEEE extended double-precision rounding precision. Valid +values are 32, 64, and 80. +------------------------------------------------------------------------------- +*/ +extern int floatx80_rounding_precision; + +/* +------------------------------------------------------------------------------- +Software IEC/IEEE extended double-precision operations. +------------------------------------------------------------------------------- +*/ +floatx80 floatx80_round_to_int( floatx80 ); +floatx80 floatx80_add( floatx80, floatx80 ); +floatx80 floatx80_sub( floatx80, floatx80 ); +floatx80 floatx80_mul( floatx80, floatx80 ); +floatx80 floatx80_div( floatx80, floatx80 ); +floatx80 floatx80_rem( floatx80, floatx80 ); +floatx80 floatx80_sqrt( floatx80 ); +int floatx80_eq( floatx80, floatx80 ); +int floatx80_le( floatx80, floatx80 ); +int floatx80_lt( floatx80, floatx80 ); +int floatx80_eq_signaling( floatx80, floatx80 ); +int floatx80_le_quiet( floatx80, floatx80 ); +int floatx80_lt_quiet( floatx80, floatx80 ); +int floatx80_is_signaling_nan( floatx80 ); + +#endif + +#ifdef FLOAT128 + +/* +------------------------------------------------------------------------------- +Software IEC/IEEE quadruple-precision conversion routines. +------------------------------------------------------------------------------- +*/ +int float128_to_int32( float128 ); +int float128_to_int32_round_to_zero( float128 ); +long long float128_to_int64( float128 ); +long long float128_to_int64_round_to_zero( float128 ); +float32 float128_to_float32( float128 ); +float64 float128_to_float64( float128 ); +#ifdef FLOATX80 +floatx80 float128_to_floatx80( float128 ); +#endif + +/* +------------------------------------------------------------------------------- +Software IEC/IEEE quadruple-precision operations. +------------------------------------------------------------------------------- +*/ +float128 float128_round_to_int( float128 ); +float128 float128_add( float128, float128 ); +float128 float128_sub( float128, float128 ); +float128 float128_mul( float128, float128 ); +float128 float128_div( float128, float128 ); +float128 float128_rem( float128, float128 ); +float128 float128_sqrt( float128 ); +int float128_eq( float128, float128 ); +int float128_le( float128, float128 ); +int float128_lt( float128, float128 ); +int float128_eq_signaling( float128, float128 ); +int float128_le_quiet( float128, float128 ); +int float128_lt_quiet( float128, float128 ); +int float128_is_signaling_nan( float128 ); + +#endif + diff -Nru pcc-libs-1.2.0~DEVEL+20180604/libsoftfloat/arch/CVS/Entries pcc-libs-1.2.0~DEVEL+20200614/libsoftfloat/arch/CVS/Entries --- pcc-libs-1.2.0~DEVEL+20180604/libsoftfloat/arch/CVS/Entries 2018-06-04 01:00:03.000000000 +0000 +++ pcc-libs-1.2.0~DEVEL+20200614/libsoftfloat/arch/CVS/Entries 2020-06-14 01:00:04.000000000 +0000 @@ -1,3 +1,4 @@ +D/aarch64//// D/amd64//// D/arm//// D/i386////