xref: /openbsd-src/gnu/usr.bin/binutils/gdb/testsuite/gdb.base/so-indr-cl.c (revision b725ae7711052a2233e31a66fefb8a752c388d7a)
1*b725ae77Skettenis /* This program is linked against SOM shared libraries, which the loader
2*b725ae77Skettenis    automatically loads along with the program itself).
3*b725ae77Skettenis    */
4*b725ae77Skettenis 
5*b725ae77Skettenis #include <stdio.h>
6*b725ae77Skettenis #ifdef PROTOTYPES
7*b725ae77Skettenis extern "C" int solib_main (int);
8*b725ae77Skettenis 
9*b725ae77Skettenis static int
solib_wrapper(int (* function)(int))10*b725ae77Skettenis solib_wrapper (int (*function)(int))
11*b725ae77Skettenis #else
12*b725ae77Skettenis extern int solib_main (int);
13*b725ae77Skettenis 
14*b725ae77Skettenis static int
15*b725ae77Skettenis solib_wrapper (function)
16*b725ae77Skettenis   int (*function)(int);
17*b725ae77Skettenis #endif
18*b725ae77Skettenis {
19*b725ae77Skettenis   return (*function)(100);
20*b725ae77Skettenis }
21*b725ae77Skettenis 
22*b725ae77Skettenis 
main()23*b725ae77Skettenis int main ()
24*b725ae77Skettenis {
25*b725ae77Skettenis   int  result;
26*b725ae77Skettenis 
27*b725ae77Skettenis   /* This is an indirect call to solib_main. */
28*b725ae77Skettenis   result = solib_wrapper (solib_main);
29*b725ae77Skettenis   return 0;
30*b725ae77Skettenis }
31