1 /* Test matherr (compat symbols, binary defines own _LIB_VERSION).
2    Copyright (C) 1997-2021 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 #include <math.h>
20 #include <stdio.h>
21 #include <stdlib.h>
22 
23 #include <math-svid-compat.h>
24 #include <shlib-compat.h>
25 
26 #if TEST_COMPAT (libm, GLIBC_2_0, GLIBC_2_27)
27 
28 # undef matherr
29 # undef _LIB_VERSION
30 compat_symbol_reference (libm, matherr, matherr, GLIBC_2_0);
31 compat_symbol_reference (libm, _LIB_VERSION, _LIB_VERSION, GLIBC_2_0);
32 
33 _LIB_VERSION_TYPE _LIB_VERSION = _SVID_;
34 
35 static int fail = 1;
36 
37 int
matherr(struct exception * s)38 matherr (struct exception *s)
39 {
40   printf ("matherr is working\n");
41   fail = 0;
42   return 1;
43 }
44 
45 static int
do_test(void)46 do_test (void)
47 {
48   acos (2.0);
49   return fail;
50 }
51 #else
52 static int
do_test(void)53 do_test (void)
54 {
55   return 77;
56 }
57 #endif
58 
59 #include <support/test-driver.c>
60