ld testsuite fails with default-PIE compiler
[deliverable/binutils-gdb.git] / ld / testsuite / ld-auto-import / client.c
CommitLineData
6bdf432d
NC
1#include <stdio.h>\r
2\r
3extern int var;\r
4extern void (*func_ptr)(void);\r
5extern void print_var (void);\r
6extern void print_foo (void);\r
7extern int foo;\r
8extern int var2[2];\r
9\r
10typedef struct\r
11{\r
12 int * var;\r
13 void (* func_ptr)(void);\r
e42e4a8b 14 int * var_with_offset;\r
6bdf432d
NC
15}\r
16TEST;\r
17\r
e42e4a8b
NC
18TEST xyz = { & var, print_var, & var };\r
19\r
20const TEST const_xyz = { & var, print_var, & var };\r
6bdf432d
NC
21\r
22int\r
23main (void)\r
24{\r
25 print_var ();\r
26\r
27 printf ("We see var = %d\n", var);\r
28 printf ("Setting var = 456\n");\r
29\r
30 var = 456;\r
31\r
32 print_var ();\r
33 printf ("We see var = %d\n\n", var);\r
34\r
35 var = 90;\r
36 print_var ();\r
37 printf ("We see var = %d\n\n", var);\r
38\r
39 print_foo ();\r
40 printf ("We see foo = %d\n", foo);\r
41 printf ("Setting foo = 19\n");\r
42 foo = 19;\r
43 print_foo ();\r
44 printf ("We see foo = %d\n\n", foo);\r
45 fflush (stdout);\r
46\r
47 printf ("Calling dllimported function pointer\n");\r
48 func_ptr ();\r
49\r
50 printf ("Calling functions using global structure\n"); \r
51 xyz.func_ptr ();\r
52 * xyz.var = 40;\r
53 xyz.func_ptr ();\r
54\r
55 printf ("We see var2[0] = %d\n\n", var2[0]);\r
56\r
e42e4a8b
NC
57 printf ("We see const xyz %x %x\n", const_xyz.var, const_xyz.var_with_offset);\r
58\r
6bdf432d
NC
59 return 0;\r
60}\r
This page took 0.734567 seconds and 4 git commands to generate.