aboutsummaryrefslogtreecommitdiff
path: root/libgcc/config/rx
diff options
context:
space:
mode:
authorJeff Law <jlaw@ventanamicro.com>2023-12-02 22:07:59 -0700
committerJeff Law <jlaw@ventanamicro.com>2023-12-02 22:07:59 -0700
commitf1fdd2839ccbc1028b59fbaa7f342e41e3bef848 (patch)
treed0a7d39794213ee5d730d43ebd6a8dbef28b0772 /libgcc/config/rx
parent622c5356676caec1dc970869d6671244703f0559 (diff)
downloadgcc-f1fdd2839ccbc1028b59fbaa7f342e41e3bef848.zip
gcc-f1fdd2839ccbc1028b59fbaa7f342e41e3bef848.tar.gz
gcc-f1fdd2839ccbc1028b59fbaa7f342e41e3bef848.tar.bz2
[committed] Fix rx build failure in libgcc
The rx port has a bunch of what I presume are ABI compatibility functions in libgcc. Those compatibility functions routines such as __eqdf2 from libgcc, but without a prototype. This patch adds the missing prototypes. libgcc/ * config/rx/rx-abi-functions.c (__ltdf2, __gtdf2): Add prototype. (__ledf2, __gedf2, __eqdf2, __nedf2): Likewise. (__ltsf2, __gtsf2, __lesf2, __gesf2, __eqsf2, __nesf2): Likewise.
Diffstat (limited to 'libgcc/config/rx')
-rw-r--r--libgcc/config/rx/rx-abi-functions.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/libgcc/config/rx/rx-abi-functions.c b/libgcc/config/rx/rx-abi-functions.c
index f505d7d..fc96e4f 100644
--- a/libgcc/config/rx/rx-abi-functions.c
+++ b/libgcc/config/rx/rx-abi-functions.c
@@ -33,6 +33,13 @@
#ifdef __RX_64BIT_DOUBLES__
+extern int __ltdf2 (double, double);
+extern int __gtdf2 (double, double);
+extern int __ledf2 (double, double);
+extern int __gedf2 (double, double);
+extern int __eqdf2 (double, double);
+extern int __nedf2 (double, double);
+
int _COM_CMPLTd (double a, double b) { return __ltdf2 (a, b) == -1; }
int _COM_CMPGTd (double a, double b) { return __gtdf2 (a, b) == 1; }
int _COM_CMPLEd (double a, double b) { return __ledf2 (a, b) != 1; }
@@ -49,6 +56,13 @@ int _COM_CMPNEf (double, double) __attribute__ ((weak, alias ("_COM_CMPNEd")));
#else /* 32-bit doubles. */
+extern int __ltsf2 (float, float);
+extern int __gtsf2 (float, float);
+extern int __lesf2 (float, float);
+extern int __gesf2 (float, float);
+extern int __eqsf2 (float, float);
+extern int __nesf2 (float, float);
+
double _COM_CONVfd (float a) { return a; }
float _COM_CONVdf (double a) { return a; }