glibc/0016-Sw64-Add-specific-math-difinitons.patch
swcompiler 55189b18b5 Sw64: Add Sw64 ISA support
(cherry picked from commit 7c7ae25b26c3c937686ae3f686a768532b14ec36)
2025-01-04 15:06:39 +08:00

64 lines
2.3 KiB
Diff

From 55d695990a490cf2e615ac767cbdcef378155ee0 Mon Sep 17 00:00:00 2001
From: swcompiler <lc@wxiat.com>
Date: Fri, 29 Nov 2024 17:18:43 +0800
Subject: [PATCH 16/23] Sw64: Add specific math difinitons
---
sysdeps/sw_64/bits/mathdef.h | 44 ++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)
create mode 100644 sysdeps/sw_64/bits/mathdef.h
diff --git a/sysdeps/sw_64/bits/mathdef.h b/sysdeps/sw_64/bits/mathdef.h
new file mode 100644
index 00000000..8d753376
--- /dev/null
+++ b/sysdeps/sw_64/bits/mathdef.h
@@ -0,0 +1,44 @@
+/* Copyright (C) 1997-2023 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library. If not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef _COMPLEX_H
+# error "Never use <bits/mathdef.h> directly; include <complex.h> instead"
+#endif
+
+#if defined _COMPLEX_H && !defined _COMPLEX_H_MATHDEF
+# define _COMPLEX_H_MATHDEF 1
+# if defined(__GNUC__) && !__GNUC_PREREQ(3, 4)
+
+/* Due to an ABI change, we need to remap the complex float symbols. */
+# define _Mdouble_ float
+# define __MATHCALL(function, args) \
+ __MATHDECL (_Complex float, function, args)
+# define __MATHDECL(type, function, args) \
+ __MATHDECL_1 (type, function##f, args, __c1_##function##f); \
+ __MATHDECL_1 (type, __##function##f, args, __c1_##function##f)
+# define __MATHDECL_1(type, function, args, alias) \
+ extern type function args __asm__(#alias) __THROW
+
+# include <bits/cmathcalls.h>
+
+# undef _Mdouble_
+# undef __MATHCALL
+# undef __MATHDECL
+# undef __MATHDECL_1
+
+# endif /* GNUC before 3.4 */
+#endif /* COMPLEX_H */
--
2.25.1