[compiler-rt] r299804 - [cfi] Accept weak definition of __cfi_check.
    Evgeniy Stepanov via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Fri Apr  7 15:52:09 PDT 2017
    
    
  
Author: eugenis
Date: Fri Apr  7 17:52:08 2017
New Revision: 299804
URL: http://llvm.org/viewvc/llvm-project?rev=299804&view=rev
Log:
[cfi] Accept weak definition of __cfi_check.
https://reviews.llvm.org/D31796 results in LLD emitting __cfi_check
as a weak symbol, while Gold keeps it strong. Accept both.
Modified:
    compiler-rt/trunk/lib/cfi/cfi.cc
Modified: compiler-rt/trunk/lib/cfi/cfi.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/cfi/cfi.cc?rev=299804&r1=299803&r2=299804&view=diff
==============================================================================
--- compiler-rt/trunk/lib/cfi/cfi.cc (original)
+++ compiler-rt/trunk/lib/cfi/cfi.cc Fri Apr  7 17:52:08 2017
@@ -231,7 +231,8 @@ uptr find_cfi_check_in_dso(dl_phdr_info
     if (p->st_name >= strsz) break;
     char *name = (char*)(strtab + p->st_name);
     if (strcmp(name, "__cfi_check") == 0) {
-      assert(p->st_info == ELF32_ST_INFO(STB_GLOBAL, STT_FUNC));
+      assert(p->st_info == ELF32_ST_INFO(STB_GLOBAL, STT_FUNC) ||
+             p->st_info == ELF32_ST_INFO(STB_WEAK, STT_FUNC));
       uptr addr = info->dlpi_addr + p->st_value;
       return addr;
     }
    
    
More information about the llvm-commits
mailing list