* gas/config/tc-avr.c: Change ISA for devices with USB support to
[external/binutils.git] / ld / testsuite / ld-elfvers / vers1.c
index cba1a0d..86e2bd2 100644 (file)
@@ -3,10 +3,16 @@
  * a bunch of definitions of the same symbol, and we can theoretically
  * then link applications against varying sets of these.
  */
+#include "vers.h"
+
 const char * show_bar1 = "asdf";
 const char * show_bar2 = "asdf";
 
-int bar()
+extern int new2_foo();
+extern int bar33();
+
+int
+bar()
 {
        return 3;
 }
@@ -15,46 +21,51 @@ int bar()
  * The 'hide' prefix is something so that we can automatically search the
  * symbol table and verify that none of these symbols were actually exported.
  */
+int
 hide_original_foo()
 {
        return 1+bar();
 
 }
 
+int
 hide_old_foo()
 {
        return 10+bar();
 
 }
 
+int
 hide_old_foo1()
 {
        return 100+bar();
 
 }
 
+int
 hide_new_foo()
 {
        return 1000+bar();
 
 }
 
-__asm__(".symver hide_original_foo,show_foo@");
-__asm__(".symver hide_old_foo,show_foo@VERS_1.1");
-__asm__(".symver hide_old_foo1,show_foo@VERS_1.2");
-__asm__(".symver hide_new_foo,show_foo@@VERS_2.0");
+SYMVER(hide_original_foo, show_foo@);
+SYMVER(hide_old_foo, show_foo@VERS_1.1);
+SYMVER(hide_old_foo1, show_foo@VERS_1.2);
+SYMVER(hide_new_foo, show_foo@@VERS_2.0);
 
 
 
 #ifdef DO_TEST10
 /* In test 10, we try and define a non-existant version node.  The linker
  * should catch this and complain. */
+int
 hide_new_bogus_foo()
 {
        return 1000+bar();
 
 }
-__asm__(".symver hide_new_bogus_foo,show_foo@VERS_2.2");
+SYMVER(hide_new_bogus_foo, show_foo@VERS_2.2);
 #endif
 
 
@@ -65,14 +76,15 @@ __asm__(".symver hide_new_bogus_foo,show_foo@VERS_2.2");
  * This test is designed to catch a couple of syntactic errors.  The assembler
  * should complain about both of the directives below.
  */
+void
 xyzzz()
 {
   new2_foo();
   bar33();
 }
 
-__asm__(".symver new2_foo,fooVERS_2.0");
-__asm__(".symver bar33,bar@@VERS_2.0");
+SYMVER(new2_foo, fooVERS_2.0);
+SYMVER(bar33, bar@@VERS_2.0);
 #endif
 
 #ifdef DO_TEST12
@@ -80,11 +92,12 @@ __asm__(".symver bar33,bar@@VERS_2.0");
  * This test is designed to catch a couple of syntactic errors.  The assembler
  * should complain about both of the directives below.
  */
+void
 xyzzz()
 {
   new2_foo();
   bar33();
 }
 
-__asm__(".symver bar33,bar@@VERS_2.0");
+SYMVER(bar33, bar@@VERS_2.0);
 #endif