1  #include "vers.h"
       2  
       3  int
       4  bar ()
       5  {
       6    return 3;
       7  }
       8  
       9  #pragma weak hide_original_foo
      10  
      11  int
      12  hide_original_foo ()
      13  {
      14    return 1 + bar ();
      15  }
      16  
      17  #pragma weak hide_old_foo
      18  
      19  int
      20  hide_old_foo ()
      21  {
      22    return 10 + bar();
      23  }
      24  
      25  #pragma weak hide_old_foo1
      26  
      27  int
      28  hide_old_foo1 ()
      29  {
      30    return 100 + bar ();
      31  }
      32  
      33  #pragma weak hide_new_foo
      34  
      35  int
      36  hide_new_foo ()
      37  {
      38    return 1000 + bar ();
      39  }
      40  
      41  FUNC_SYMVER(hide_original_foo, show_foo@);
      42  FUNC_SYMVER(hide_old_foo, show_foo@VERS_1.1);
      43  FUNC_SYMVER(hide_old_foo1, show_foo@VERS_1.2);
      44  FUNC_SYMVER(hide_new_foo, show_foo@@VERS_2.0);