Skip to content

Instantly share code, notes, and snippets.

@scottcarr
Created September 8, 2016 22:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save scottcarr/17083b1c83b4cc3bf703469fb198d745 to your computer and use it in GitHub Desktop.
Save scottcarr/17083b1c83b4cc3bf703469fb198d745 to your computer and use it in GitHub Desktop.
"/usr/bin/ld" --eh-frame-hdr -m elf_x86_64 -shared -o libc++.so.1.0 /usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/5.4.0/crtbeginS.o -L/home/scott/research/vtrust/vt-llvm/build-debug-VTMap/lib -L/usr/lib/gcc/x86_64-linux-gnu/5.4.0 -L/usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../x86_64-linux-gnu -L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../.. -L/lib -L/usr/lib -plugin /home/scott/research/vtrust/vt-llvm/build-debug-VTMap/bin/../lib/LLVMgold.so -plugin-opt=mcpu=x86-64 -plugin-opt=-load=/home/scott/research/vtrust/vt-llvm/build-debug-VTMap/lib/libLTO.so -plugin-opt=also-emit-llvm -plugin-opt=-also-emit-llvm-lto -lVTLib -rpath=/home/scott/research/vtrust/vt-llvm/build-debug-VTMap/lib -plugin-opt=-load=/home/scott/research/vtrust/vt-llvm/build-debug-VTMap/lib/LLVMVTMetadataRecovery.so -plugin-opt=-VTMetadataRecovery -plugin-opt=-load=/home/scott/research/vtrust/vt-llvm/build-debug-VTMap/lib/LLVMVTPtrMapPass2.so -plugin-opt=-VTPtrMapPass2 -plugin-opt=-vtmap_log_level=10 -plugin-opt=-shared-project-name=LLVM -soname libc++.so.1 CMakeFiles/cxx.dir/__/src/random.cpp.o CMakeFiles/cxx.dir/__/src/strstream.cpp.o CMakeFiles/cxx.dir/__/src/regex.cpp.o CMakeFiles/cxx.dir/__/src/valarray.cpp.o CMakeFiles/cxx.dir/__/src/bind.cpp.o CMakeFiles/cxx.dir/__/src/new.cpp.o CMakeFiles/cxx.dir/__/src/future.cpp.o CMakeFiles/cxx.dir/__/src/mutex.cpp.o CMakeFiles/cxx.dir/__/src/system_error.cpp.o CMakeFiles/cxx.dir/__/src/condition_variable.cpp.o CMakeFiles/cxx.dir/__/src/debug.cpp.o CMakeFiles/cxx.dir/__/src/locale.cpp.o CMakeFiles/cxx.dir/__/src/utility.cpp.o CMakeFiles/cxx.dir/__/src/iostream.cpp.o CMakeFiles/cxx.dir/__/src/chrono.cpp.o CMakeFiles/cxx.dir/__/src/ios.cpp.o CMakeFiles/cxx.dir/__/src/exception.cpp.o CMakeFiles/cxx.dir/__/src/optional.cpp.o CMakeFiles/cxx.dir/__/src/hash.cpp.o CMakeFiles/cxx.dir/__/src/string.cpp.o CMakeFiles/cxx.dir/__/src/memory.cpp.o CMakeFiles/cxx.dir/__/src/stdexcept.cpp.o CMakeFiles/cxx.dir/__/src/shared_mutex.cpp.o CMakeFiles/cxx.dir/__/src/thread.cpp.o CMakeFiles/cxx.dir/__/src/typeinfo.cpp.o CMakeFiles/cxx.dir/__/src/algorithm.cpp.o -lpthread -lc -lm -lrt -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/5.4.0/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../x86_64-linux-gnu/crtn.o
LTO add extra options: -output_name=libc++.so.1.0
LTO add extra options: -output_name2=libc++.so.1.0
LTO add extra options: -load=/home/scott/research/vtrust/vt-llvm/build-debug-VTMap/lib/libLTO.so
LTO add extra options: -also-emit-llvm-lto
LTO add extra options: -load=/home/scott/research/vtrust/vt-llvm/build-debug-VTMap/lib/LLVMVTMetadataRecovery.so
LTO add extra options: -VTMetadataRecovery
LTO add extra options: -load=/home/scott/research/vtrust/vt-llvm/build-debug-VTMap/lib/LLVMVTPtrMapPass2.so
LTO add extra options: -VTPtrMapPass2
LTO add extra options: -vtmap_log_level=10
LTO add extra options: -shared-project-name=LLVM
The output file name of this link operation is: libc++.so.1.0
NOTE: the linked bitcode file (before LTO) is written to file: libc++.so.1.0.bc
Trying register custom-LTO-Pass: Recovery metadata from module
Registered custom-LTO-Pass: Recovery metadata from module
Trying register custom-LTO-Pass: Instrument VTable Ptr re-map
Registered custom-LTO-Pass: Instrument VTable Ptr re-map
~~++ VTMetadataRecovery runOnModule: ld-temp.o
ERROR: ReadVTablePtr is not loaded from a object. VTable:
%2 = call i8** @idx_to_vtptr(i64 %1), !dbg !26892
Function:
; Function Attrs: nounwind uwtable
define void @_ZNSt3__117__assoc_sub_state16__on_zero_sharedEv(%"class.std::__1::__assoc_sub_state"* %this) unnamed_addr #37 align 2 {
entry:
%this.addr = alloca %"class.std::__1::__assoc_sub_state"*, align 8
store %"class.std::__1::__assoc_sub_state"* %this, %"class.std::__1::__assoc_sub_state"** %this.addr, align 8
call void @llvm.dbg.declare(metadata !{%"class.std::__1::__assoc_sub_state"** %this.addr}, metadata !26890), !dbg !26891
%this1 = load %"class.std::__1::__assoc_sub_state"** %this.addr
%isnull = icmp eq %"class.std::__1::__assoc_sub_state"* %this1, null, !dbg !26892
br i1 %isnull, label %delete.end, label %delete.notnull, !dbg !26892
delete.notnull: ; preds = %entry
%0 = bitcast %"class.std::__1::__assoc_sub_state"* %this1 to void (%"class.std::__1::__assoc_sub_state"*)***, !dbg !26892
%vtable = load void (%"class.std::__1::__assoc_sub_state"*)*** %0, !dbg !26892, !md_ReadVTablePtr !26893
%1 = ptrtoint void (%"class.std::__1::__assoc_sub_state"*)** %vtable to i64, !dbg !26892
%2 = call i8** @idx_to_vtptr(i64 %1), !dbg !26892
%3 = bitcast i8** %2 to void (%"class.std::__1::__assoc_sub_state"*)**, !dbg !26892, !md_LoadVFuncInst_backup2 !26894
%vfn = getelementptr inbounds void (%"class.std::__1::__assoc_sub_state"*)** %3, i64 1, !dbg !26892, !md_LoadVFuncInst_backup !26894
%4 = load void (%"class.std::__1::__assoc_sub_state"*)** %vfn, !dbg !26892, !md_LoadVFuncInst !26894
call void %4(%"class.std::__1::__assoc_sub_state"* %this1) #10, !dbg !26892, !md_CallVFuncInst !26894
br label %delete.end, !dbg !26892
delete.end: ; preds = %delete.notnull, %entry
ret void, !dbg !26895
}
clang-3.4: error: linker command failed with exit code 1 (use -v to see invocation)
lib/CMakeFiles/cxx.dir/build.make:744: recipe for target 'lib/libc++.so.1.0' failed
make[3]: *** [lib/libc++.so.1.0] Error 1
make[3]: Leaving directory '/home/scott/research/vtrust/vt-llvm/build-debug-VTMap-libcxx-vtmap2/tmp-build'
CMakeFiles/Makefile2:103: recipe for target 'lib/CMakeFiles/cxx.dir/all' failed
make[2]: *** [lib/CMakeFiles/cxx.dir/all] Error 2
make[2]: Leaving directory '/home/scott/research/vtrust/vt-llvm/build-debug-VTMap-libcxx-vtmap2/tmp-build'
Makefile:127: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/scott/research/vtrust/vt-llvm/build-debug-VTMap-libcxx-vtmap2/tmp-build'
Makefile:178: recipe for target 'libcxx_tmp_yourlto_build' failed
make: *** [libcxx_tmp_yourlto_build] Error 2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment