aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-elfvers/vers6.c
blob: cb1c93f635a18e664166f4697bac0a916c1c2201 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/*
 * Testcase to make sure that if we externally reference a versioned symbol
 * that we always get the right one.
 */
#include <stdio.h>
#include "vers.h"

extern int foo_1();
extern int foo_2();
extern int foo_3();
extern int foo_4();

int
main()
{
  printf("Expect 4,    get %d\n", foo_1());
  printf("Expect 13,   get %d\n", foo_2());
  printf("Expect 103,  get %d\n", foo_3());
  printf("Expect 1003, get %d\n", foo_4());
  return 0;
}

SYMVER(foo_1, show_foo@);
SYMVER(foo_2, show_foo@VERS_1.1);
SYMVER(foo_3, show_foo@VERS_1.2);
SYMVER(foo_4, show_foo@VERS_2.0);