1 /* Check LD_AUDIT for aarch64 specific ABI.
2    Copyright (C) 2022 Free Software Foundation, Inc.
3    This file is part of the GNU C Library.
4 
5    The GNU C Library is free software; you can redistribute it and/or
6    modify it under the terms of the GNU Lesser General Public
7    License as published by the Free Software Foundation; either
8    version 2.1 of the License, or (at your option) any later version.
9 
10    The GNU C Library is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    Lesser General Public License for more details.
14 
15    You should have received a copy of the GNU Lesser General Public
16    License along with the GNU C Library; if not, see
17    <https://www.gnu.org/licenses/>.  */
18 
19 #ifndef _TST_AUDIT27MOD_H
20 #define _TST_AUDIT27MOD_H 1
21 
22 #include <float.h>
23 
24 #define FUNC_FLOAT_ARG0 FLT_MIN
25 #define FUNC_FLOAT_ARG1 FLT_MAX
26 #define FUNC_FLOAT_ARG2 FLT_EPSILON
27 #define FUNC_FLOAT_ARG3 FLT_TRUE_MIN
28 #define FUNC_FLOAT_ARG4 0.0f
29 #define FUNC_FLOAT_ARG5 1.0f
30 #define FUNC_FLOAT_ARG6 2.0f
31 #define FUNC_FLOAT_ARG7 3.0f
32 #define FUNC_FLOAT_RET  4.0f
33 
34 float
35 tst_audit27_func_float (float a0, float a1, float a2, float a3, float a4,
36 			float a5, float a6, float a7);
37 
38 #define FUNC_DOUBLE_ARG0 DBL_MIN
39 #define FUNC_DOUBLE_ARG1 DBL_MAX
40 #define FUNC_DOUBLE_ARG2 DBL_EPSILON
41 #define FUNC_DOUBLE_ARG3 DBL_TRUE_MIN
42 #define FUNC_DOUBLE_ARG4 0.0
43 #define FUNC_DOUBLE_ARG5 1.0
44 #define FUNC_DOUBLE_ARG6 2.0
45 #define FUNC_DOUBLE_ARG7 3.0
46 #define FUNC_DOUBLE_RET  0x1.fffffe0000001p+127
47 
48 double
49 tst_audit27_func_double (double a0, double a1, double a2, double a3, double a4,
50 			 double a5, double a6, double a7);
51 
52 #define FUNC_LDOUBLE_ARG0 DBL_MAX + 1.0L
53 #define FUNC_LDOUBLE_ARG1 DBL_MAX + 2.0L
54 #define FUNC_LDOUBLE_ARG2 DBL_MAX + 3.0L
55 #define FUNC_LDOUBLE_ARG3 DBL_MAX + 4.0L
56 #define FUNC_LDOUBLE_ARG4 DBL_MAX + 5.0L
57 #define FUNC_LDOUBLE_ARG5 DBL_MAX + 6.0L
58 #define FUNC_LDOUBLE_ARG6 DBL_MAX + 7.0L
59 #define FUNC_LDOUBLE_ARG7 DBL_MAX + 8.0L
60 #define FUNC_LDOUBLE_RET  0x1.fffffffffffff000000000000001p+1023L
61 
62 long double
63 tst_audit27_func_ldouble (long double a0, long double a1, long double a2,
64 			  long double a3, long double a4, long double a5,
65 			  long double a6, long double a7);
66 
67 #endif
68