[ELF] Fix DT_NEEDED value.
authorDavide Italiano <davide@freebsd.org>
Thu, 8 Sep 2016 21:18:38 +0000 (21:18 +0000)
committerDavide Italiano <davide@freebsd.org>
Thu, 8 Sep 2016 21:18:38 +0000 (21:18 +0000)
Differential Revision: https://reviews.llvm.org/D24363

llvm-svn: 280990

lld/ELF/InputFiles.cpp
lld/test/ELF/as-needed-no-reloc.s
lld/test/ELF/shared.s

index 9589a50..fbe34e6 100644 (file)
@@ -19,6 +19,7 @@
 #include "llvm/CodeGen/Analysis.h"
 #include "llvm/IR/LLVMContext.h"
 #include "llvm/IR/Module.h"
+#include "llvm/Support/Path.h"
 #include "llvm/Support/raw_ostream.h"
 
 using namespace llvm;
@@ -477,7 +478,7 @@ template <class ELFT> void SharedFile<ELFT>::parseSoName() {
   }
 
   this->initStringTable();
-  SoName = this->getName();
+  SoName = sys::path::filename(this->getName());
 
   if (!DynamicSec)
     return;
index 0706ca0..9cbe25c 100644 (file)
@@ -16,7 +16,7 @@
 # CHECK-NEXT: Other: 0
 # CHECK-NEXT: Section: Undefined
 
-# CHECK: NEEDED SharedLibrary ({{.*}}2.so)
+# CHECK: NEEDED SharedLibrary (as-needed-no-reloc{{.*}}2.so)
 
         .globl _start
 _start:
index a81a093..086cc73 100644 (file)
 // CHECK-NEXT:   EntrySize: 8
 // CHECK-NEXT:   SectionData (
 // CHECK:        )
-// CHECK-NEXT: }
 
 // CHECK:      Name: .symtab
 // CHECK-NEXT: Type: SHT_SYMTAB