http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60642

--- Comment #3 from Luke Allardyce <lukeallardyce at gmail dot com> ---
On further inspection it looks like vtable symbols for template classes are not
being tagged

struct __attribute((abi_tag("test"))) foo 
{ 
  void f(); 
  virtual ~foo(); 
};

template<typename>
struct __attribute((abi_tag("test"))) bar
{ 
  void f(); 
  virtual ~bar();
};

extern template class bar<int>;

int main()
{
  foo f;
  f.f();

  bar<int> b;
  b.f();
}

$ g++ test.cpp -c
$ nm test.o 

0000000000000108 s EH_frame1
00000000000000c2 s GCC_except_table0
                 U __Unwind_Resume
                 U __ZN3barB4testIiE1fEv
00000000000000a6 S __ZN3barB4testIiEC1Ev
                 U __ZN3barB4testIiED1Ev
                 U __ZN3fooB4test1fEv
000000000000008a S __ZN3fooB4testC1Ev
                 U __ZN3fooB4testD1Ev
                 U __ZTV3barIiE
                 U __ZTV3fooB4test
                 U ___gxx_personality_v0
0000000000000000 T _main

Reply via email to