home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / binutils-2.7-src.tgz / tar.out / fsf / binutils / ld / testsuite / ld-shared / main.c next >
C/C++ Source or Header  |  1996-09-28  |  2KB  |  73 lines

  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. #ifndef XCOFF_TEST
  38.   printf ("shlib_mainvar () == %d\n", shlib_mainvar ());
  39.   printf ("shlib_overriddenvar () == %d\n", shlib_overriddenvar ());
  40. #endif
  41.   printf ("shlib_shlibvar1 () == %d\n", shlib_shlibvar1 ());
  42.   printf ("shlib_shlibvar2 () == %d\n", shlib_shlibvar2 ());
  43.   printf ("shlib_shlibcall () == %d\n", shlib_shlibcall ());
  44. #ifndef XCOFF_TEST
  45.   printf ("shlib_maincall () == %d\n", shlib_maincall ());
  46. #endif
  47.   printf ("main_called () == %d\n", main_called ());
  48.   printf ("shlib_checkfunptr1 (shlib_shlibvar1) == %d\n",
  49.       shlib_checkfunptr1 (shlib_shlibvar1));
  50. #ifndef XCOFF_TEST
  51.   printf ("shlib_checkfunptr2 (main_called) == %d\n",
  52.       shlib_checkfunptr2 (main_called));
  53. #endif
  54.   p = shlib_getfunptr1 ();
  55.   printf ("shlib_getfunptr1 () ");
  56.   if (p == shlib_shlibvar1)
  57.     printf ("==");
  58.   else
  59.     printf ("!=");
  60.   printf (" shlib_shlibvar1\n");
  61. #ifndef XCOFF_TEST
  62.   p = shlib_getfunptr2 ();
  63.   printf ("shlib_getfunptr2 () ");
  64.   if (p == main_called)
  65.     printf ("==");
  66.   else
  67.     printf ("!=");
  68.   printf (" main_called\n");
  69. #endif
  70.   printf ("shlib_check () == %d\n", shlib_check ());
  71.   return 0;
  72. }
  73.