Index: ELF/InputFiles.cpp =================================================================== --- ELF/InputFiles.cpp +++ ELF/InputFiles.cpp @@ -20,6 +20,7 @@ #include "llvm/IR/LLVMContext.h" #include "llvm/IR/Module.h" #include "llvm/Support/raw_ostream.h" +#include "llvm/Support/Path.h" using namespace llvm; using namespace llvm::ELF; @@ -477,7 +478,7 @@ } this->initStringTable(); - SoName = this->getName(); + SoName = sys::path::filename(this->getName()); if (!DynamicSec) return; @@ -490,7 +491,7 @@ uintX_t Val = Dyn.getVal(); if (Val >= this->StringTable.size()) fatal(getFilename(this) + ": invalid DT_SONAME entry"); - SoName = StringRef(this->StringTable.data() + Val); + SoName = sys::path::filename(StringRef(this->StringTable.data() + Val)); return; } } Index: test/ELF/as-needed-no-reloc.s =================================================================== --- test/ELF/as-needed-no-reloc.s +++ test/ELF/as-needed-no-reloc.s @@ -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: test/ELF/shared.s =================================================================== --- test/ELF/shared.s +++ test/ELF/shared.s @@ -119,7 +119,7 @@ // CHECK-NEXT: EntrySize: 8 // CHECK-NEXT: SectionData ( // CHECK: ) -// CHECK-NEXT: } +// CHECK: } // CHECK: Name: .symtab // CHECK-NEXT: Type: SHT_SYMTAB