comment changes
[deliverable/binutils-gdb.git] / ld / testsuite / ld-shared / main.c
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 ();
20
21 /* This function is called by the shared library. */
22
23 int
24 main_called ()
25 {
26 return 6;
27 }
28
29 int
30 main ()
31 {
32 int (*p) ();
33
34 printf ("mainvar == %d\n", mainvar);
35 printf ("overriddenvar == %d\n", overriddenvar);
36 printf ("shlibvar1 == %d\n", shlibvar1);
37 printf ("shlib_mainvar () == %d\n", shlib_mainvar ());
38 printf ("shlib_overriddenvar () == %d\n", shlib_overriddenvar ());
39 printf ("shlib_shlibvar1 () == %d\n", shlib_shlibvar1 ());
40 printf ("shlib_shlibvar2 () == %d\n", shlib_shlibvar2 ());
41 printf ("shlib_shlibcall () == %d\n", shlib_shlibcall ());
42 printf ("shlib_maincall () == %d\n", shlib_maincall ());
43 printf ("shlib_checkfunptr1 (shlib_mainvar) == %d\n",
44 shlib_checkfunptr1 (shlib_mainvar));
45 printf ("shlib_checkfunptr2 (main_called) == %d\n",
46 shlib_checkfunptr2 (main_called));
47 p = shlib_getfunptr1 ();
48 printf ("shlib_getfunptr1 () ");
49 if (p == shlib_mainvar)
50 printf ("==");
51 else
52 printf ("!=");
53 printf (" shlib_mainvar\n");
54 p = shlib_getfunptr2 ();
55 printf ("shlib_getfunptr2 () ");
56 if (p == main_called)
57 printf ("==");
58 else
59 printf ("!=");
60 printf (" main_called\n");
61 printf ("shlib_check () == %d\n", shlib_check ());
62 return 0;
63 }
This page took 0.031399 seconds and 4 git commands to generate.