From bfc3db32d26cbf6d1aa96aa0fd9a82aa5576ba17 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Wed, 19 Apr 2017 17:14:19 +0300 Subject: Improve error message when run on statically linked binaries If .dynamic, .dynstr or .interp sections aren't found, give an extra hint to the user that the input file is statically linked. --- src/patchelf.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/patchelf.cc b/src/patchelf.cc index bfd9cc1..6363395 100644 --- a/src/patchelf.cc +++ b/src/patchelf.cc @@ -557,8 +557,12 @@ template Elf_Shdr & ElfFile::findSection(const SectionName & sectionName) { Elf_Shdr * shdr = findSection2(sectionName); - if (!shdr) - error("cannot find section '" + sectionName + "'"); + if (!shdr) { + std::string extraMsg = ""; + if (sectionName == ".interp" || sectionName == ".dynamic" || sectionName == ".dynstr") + extraMsg = ". The input file is most likely statically linked"; + error("cannot find section '" + sectionName + "'" + extraMsg); + } return *shdr; } -- cgit v0.12