[LLVMdev] linker warnings in Linking CXX executable Debug/AsanTest

Jack Howarth howarth at bromo.med.uc.edu
Fri Nov 2 07:18:09 PDT 2012


Nick,
   Have you noticed that llvm/clang svn produces the following linker warnings on
'make check-all'?

Linking CXX executable Debug/AsanTest
ld: warning: direct access in llvm::convertible_fwd_ostream::~convertible_fwd_ostream() to global weak symbol vtable for llvm::convertible_fwd_ostream means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in llvm::convertible_fwd_ostream::~convertible_fwd_ostream() to global weak symbol vtable for llvm::convertible_fwd_ostream means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in non-virtual thunk to llvm::convertible_fwd_ostream::~convertible_fwd_ostream() to global weak symbol vtable for llvm::convertible_fwd_ostream means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in non-virtual thunk to llvm::convertible_fwd_ostream::~convertible_fwd_ostream() to global weak symbol vtable for llvm::convertible_fwd_ostream means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in llvm::convertible_fwd_ostream::~convertible_fwd_ostream() to global weak symbol vtable for llvm::convertible_fwd_ostream means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in llvm::convertible_fwd_ostream::~convertible_fwd_ostream() to global weak symbol vtable for llvm::convertible_fwd_ostream means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in non-virtual thunk to llvm::convertible_fwd_ostream::~convertible_fwd_ostream() to global weak symbol vtable for llvm::convertible_fwd_ostream means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in non-virtual thunk to llvm::convertible_fwd_ostream::~convertible_fwd_ostream() to global weak symbol vtable for llvm::convertible_fwd_ostream means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.

I am seeing some AddressSanitizer failures like...

FAIL: AddressSanitizer :: log-path_test.cc (13 of 12542)
******************** TEST 'AddressSanitizer :: log-path_test.cc' FAILED ********************

FAIL: AddressSanitizer :: strncpy-overflow.cc (27 of 12542)
******************** TEST 'AddressSanitizer :: strncpy-overflow.cc' FAILED ********************

FAIL: AddressSanitizer :: use-after-free.cc (34 of 12542)
******************** TEST 'AddressSanitizer :: use-after-free.cc' FAILED ********************

etc, and wonder if they could be related to that those linkage warnings. If so, I'll open a bug report.
Thanks in advance.
         Jack
ps This is using a debug build on x86_64-apple-darwin12 with Xcode 4.5.2's linker.





More information about the llvm-dev mailing list