OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [binutils-2.20.1/] [ld/] [testsuite/] [ld-shared/] [main.c] - Rev 816

Go to most recent revision | Compare with Previous | Blame | View Log

/* This is the main program for the shared library test.  */
 
#include <stdio.h>
 
int mainvar = 1;
int overriddenvar = 2;
extern int shlibvar1;
 
extern int shlib_mainvar ();
extern int shlib_overriddenvar ();
extern int shlib_shlibvar1 ();
extern int shlib_shlibvar2 ();
extern int shlib_shlibcall ();
extern int shlib_maincall ();
extern int shlib_checkfunptr1 ();
extern int shlib_checkfunptr2 ();
extern int (*shlib_getfunptr1 ()) ();
extern int (*shlib_getfunptr2 ()) ();
extern int shlib_check ();
extern int shlib_shlibcall2 ();
 
/* This function is called by the shared library.  */
 
int
main_called ()
{
  return 6;
}
 
/* This function overrides a function in the shared library.  */
 
int
shlib_overriddencall2 ()
{
  return 8;
}
 
int
main ()
{
  printf ("mainvar == %d\n", mainvar);
  printf ("overriddenvar == %d\n", overriddenvar);
  printf ("shlibvar1 == %d\n", shlibvar1);
#ifndef XCOFF_TEST
  printf ("shlib_mainvar () == %d\n", shlib_mainvar ());
  printf ("shlib_overriddenvar () == %d\n", shlib_overriddenvar ());
#endif
  printf ("shlib_shlibvar1 () == %d\n", shlib_shlibvar1 ());
  printf ("shlib_shlibvar2 () == %d\n", shlib_shlibvar2 ());
  printf ("shlib_shlibcall () == %d\n", shlib_shlibcall ());
#ifndef XCOFF_TEST
  printf ("shlib_shlibcall2 () == %d\n", shlib_shlibcall2 ());
  printf ("shlib_maincall () == %d\n", shlib_maincall ());
#endif
  printf ("main_called () == %d\n", main_called ());
#ifndef SYMBOLIC_TEST
  printf ("shlib_checkfunptr1 (shlib_shlibvar1) == %d\n",
	  shlib_checkfunptr1 (shlib_shlibvar1));
#ifndef XCOFF_TEST
  printf ("shlib_checkfunptr2 (main_called) == %d\n",
	  shlib_checkfunptr2 (main_called));
#endif
  {
    int (*p) ();
 
    p = shlib_getfunptr1 ();
    printf ("shlib_getfunptr1 () ");
    if (p == shlib_shlibvar1)
      printf ("==");
    else
      printf ("!=");
    printf (" shlib_shlibvar1\n");
  }
#ifndef XCOFF_TEST
  {
    int (*p) ();
 
    p = shlib_getfunptr2 ();
    printf ("shlib_getfunptr2 () ");
    if (p == main_called)
      printf ("==");
    else
      printf ("!=");
    printf (" main_called\n");
  }
#endif
#endif
  printf ("shlib_check () == %d\n", shlib_check ());
  return 0;
}
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.