diff --git a/backward.hpp b/backward.hpp index 0b1ca1f..6efa46d 100644 --- a/backward.hpp +++ b/backward.hpp @@ -1388,11 +1388,23 @@ class TraceResolverLinuxImpl if (result.found) return; +#ifdef bfd_get_section_flags if ((bfd_get_section_flags(fobj.handle.get(), section) & SEC_ALLOC) == 0) +#else + if ((bfd_section_flags(section) & SEC_ALLOC) == 0) +#endif return; // a debug section is never loaded automatically. +#ifdef bfd_get_section_vma bfd_vma sec_addr = bfd_get_section_vma(fobj.handle.get(), section); +#else + bfd_vma sec_addr = bfd_section_vma(section); +#endif +#ifdef bfd_get_section_size bfd_size_type size = bfd_get_section_size(section); +#else + bfd_size_type size = bfd_section_size(section); +#endif // are we in the boundaries of the section? if (addr < sec_addr || addr >= sec_addr + size) {