// If we found an exact match, great, otherwise find the last entry
// before the passed-in offset.
- if (it->offset > offset)
+ if (it == offsets->end() || it->offset > offset)
{
if (it == offsets->begin())
return "";
// Dwarf_line_info routines.
-// Note: this routine instantiates the appropriate
-// Sized_dwarf_line_info templates for this config, so we don't have
-// to have a separte instantiation section for them.
-
std::string
Dwarf_line_info::one_addr2line(Object* object,
unsigned int shndx, off_t offset)
};
template<int size, bool big_endian>
-class Sized_dwarf_line_info
+class Sized_dwarf_line_info : public Dwarf_line_info
{
public:
// Initializes a .debug_line reader for a given object file.
Sized_dwarf_line_info(Object* object);
- std::string
- addr2line(unsigned int shndx, off_t offset)
- { return do_addr2line(shndx, offset); }
-
private:
std::string
do_addr2line(unsigned int shndx, off_t offset);