summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rld-elf.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/rld-elf.cpp b/rld-elf.cpp
index c8e7aa1..19aa1ab 100644
--- a/rld-elf.cpp
+++ b/rld-elf.cpp
@@ -184,7 +184,11 @@ namespace rld
name_ = file_.get_string (shdr.sh_name);
data_ = ::elf_getdata (scn, 0);
if (!data_)
- libelf_error ("elf_getdata: " + name_ + '(' + file_.name () + ')');
+ {
+ data_ = ::elf_rawdata (scn, 0);
+ if (!data_)
+ libelf_error ("elf_getdata: " + name_ + '(' + file_.name () + ')');
+ }
}
if (rld::verbose () >= RLD_VERBOSE_FULL_DEBUG)