]>
Commit | Line | Data |
---|---|---|
252b5132 RH |
1 | /* This is the main program for the shared library test. */ |
2 | ||
3 | #include <stdio.h> | |
4 | ||
5 | int mainvar = 1; | |
6 | int overriddenvar = 2; | |
7 | extern int shlibvar1; | |
8 | ||
9 | extern int shlib_mainvar (); | |
10 | extern int shlib_overriddenvar (); | |
11 | extern int shlib_shlibvar1 (); | |
12 | extern int shlib_shlibvar2 (); | |
13 | extern int shlib_shlibcall (); | |
14 | extern int shlib_maincall (); | |
15 | extern int shlib_checkfunptr1 (); | |
16 | extern int shlib_checkfunptr2 (); | |
17 | extern int (*shlib_getfunptr1 ()) (); | |
18 | extern int (*shlib_getfunptr2 ()) (); | |
19 | extern int shlib_check (); | |
0cd9f5f0 | 20 | extern int shlib_shlibcall2 (); |
252b5132 RH |
21 | |
22 | /* This function is called by the shared library. */ | |
23 | ||
24 | int | |
25 | main_called () | |
26 | { | |
27 | return 6; | |
28 | } | |
29 | ||
30 | /* This function overrides a function in the shared library. */ | |
31 | ||
32 | int | |
33 | shlib_overriddencall2 () | |
34 | { | |
35 | return 8; | |
36 | } | |
37 | ||
38 | int | |
39 | main () | |
40 | { | |
252b5132 RH |
41 | printf ("mainvar == %d\n", mainvar); |
42 | printf ("overriddenvar == %d\n", overriddenvar); | |
43 | printf ("shlibvar1 == %d\n", shlibvar1); | |
74044dc8 | 44 | #ifndef SYMBOLIC_TEST |
252b5132 | 45 | printf ("shlib_mainvar () == %d\n", shlib_mainvar ()); |
74044dc8 | 46 | #ifndef XCOFF_TEST |
252b5132 | 47 | printf ("shlib_overriddenvar () == %d\n", shlib_overriddenvar ()); |
74044dc8 | 48 | #endif |
252b5132 RH |
49 | #endif |
50 | printf ("shlib_shlibvar1 () == %d\n", shlib_shlibvar1 ()); | |
51 | printf ("shlib_shlibvar2 () == %d\n", shlib_shlibvar2 ()); | |
52 | printf ("shlib_shlibcall () == %d\n", shlib_shlibcall ()); | |
74044dc8 | 53 | #ifndef SYMBOLIC_TEST |
252b5132 RH |
54 | #ifndef XCOFF_TEST |
55 | printf ("shlib_shlibcall2 () == %d\n", shlib_shlibcall2 ()); | |
74044dc8 | 56 | #endif |
252b5132 RH |
57 | printf ("shlib_maincall () == %d\n", shlib_maincall ()); |
58 | #endif | |
59 | printf ("main_called () == %d\n", main_called ()); | |
66517a2f | 60 | #ifndef SYMBOLIC_TEST |
252b5132 RH |
61 | printf ("shlib_checkfunptr1 (shlib_shlibvar1) == %d\n", |
62 | shlib_checkfunptr1 (shlib_shlibvar1)); | |
252b5132 RH |
63 | printf ("shlib_checkfunptr2 (main_called) == %d\n", |
64 | shlib_checkfunptr2 (main_called)); | |
32649b97 JK |
65 | { |
66 | int (*p) (); | |
67 | ||
68 | p = shlib_getfunptr1 (); | |
69 | printf ("shlib_getfunptr1 () "); | |
70 | if (p == shlib_shlibvar1) | |
71 | printf ("=="); | |
72 | else | |
73 | printf ("!="); | |
74 | printf (" shlib_shlibvar1\n"); | |
75 | } | |
32649b97 JK |
76 | { |
77 | int (*p) (); | |
78 | ||
79 | p = shlib_getfunptr2 (); | |
80 | printf ("shlib_getfunptr2 () "); | |
81 | if (p == main_called) | |
82 | printf ("=="); | |
83 | else | |
84 | printf ("!="); | |
85 | printf (" main_called\n"); | |
86 | } | |
252b5132 RH |
87 | #endif |
88 | printf ("shlib_check () == %d\n", shlib_check ()); | |
89 | return 0; | |
90 | } |