--version-script

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



hi,

It looks like I am pretty unlucky with this so, it is quite likely I
have missed something important. Help would be welcome.

mathieu@mathieu:~/code$ cat test.c
void test (void)
{}
mathieu@mathieu:~/code$ cat test.map
A {
global:
  test;
local:
  *;
};
B {
global:
  test;
} A;
mathieu@mathieu:~/code$ gcc -O0 -g -fpic -c test.c -o test.o
mathieu@mathieu:~/code$ gcc -shared -Wl,--version-script=./test.map
./test.o -o test.so
mathieu@mathieu:~/code$ readelf -V -s ./test.so |grep test
     5: 0000039c     5 FUNC    GLOBAL DEFAULT   12 test@@A
    48: 00000000     0 FILE    LOCAL  DEFAULT  ABS test.c
    62: 0000039c     5 FUNC    GLOBAL DEFAULT   12 test
  000000: Rev: 1  Flags: BASE   Index: 1  Cnt: 1  Name: test.so
mathieu@mathieu:~/code$

The above shows that test is exported under version 'A' as the default
symbol. I was expecting instead something like that (imaginary
output):
     5: 0000039c     5 FUNC    GLOBAL DEFAULT   12 test@A
     5: 0000039c     5 FUNC    GLOBAL DEFAULT   12 test@@B

which would indicate that symbol test is exported under both version A
and B and that B is the 'default' version. What step did I miss to get
this result ?

Mathieu
-- 
Mathieu Lacage <mathieu.lacage@xxxxxxxxx>

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux