summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lld/ELF/InputFiles.cpp26
1 files changed, 13 insertions, 13 deletions
diff --git a/lld/ELF/InputFiles.cpp b/lld/ELF/InputFiles.cpp
index e7d1d42c24f..99c8704a049 100644
--- a/lld/ELF/InputFiles.cpp
+++ b/lld/ELF/InputFiles.cpp
@@ -281,19 +281,19 @@ template <class ELFT> void SharedFile<ELFT>::parseSoName() {
this->initStringTable();
this->SoName = this->getName();
- if (DynamicSec) {
- auto *Begin =
- reinterpret_cast<const Elf_Dyn *>(Obj.base() + DynamicSec->sh_offset);
- const Elf_Dyn *End = Begin + DynamicSec->sh_size / sizeof(Elf_Dyn);
-
- for (const Elf_Dyn &Dyn : make_range(Begin, End)) {
- if (Dyn.d_tag == DT_SONAME) {
- uintX_t Val = Dyn.getVal();
- if (Val >= this->StringTable.size())
- error("Invalid DT_SONAME entry");
- this->SoName = StringRef(this->StringTable.data() + Val);
- break;
- }
+ if (!DynamicSec)
+ return;
+ auto *Begin =
+ reinterpret_cast<const Elf_Dyn *>(Obj.base() + DynamicSec->sh_offset);
+ const Elf_Dyn *End = Begin + DynamicSec->sh_size / sizeof(Elf_Dyn);
+
+ for (const Elf_Dyn &Dyn : make_range(Begin, End)) {
+ if (Dyn.d_tag == DT_SONAME) {
+ uintX_t Val = Dyn.getVal();
+ if (Val >= this->StringTable.size())
+ error("Invalid DT_SONAME entry");
+ this->SoName = StringRef(this->StringTable.data() + Val);
+ return;
}
}
}
OpenPOWER on IntegriCloud