2011-03-04 Michael Snyder <msnyder@msnyder-server.eng.vmware.com>
[deliverable/binutils-gdb.git] / gold / dwarf_reader.h
index c18ed8951b0312139710cb2288089921bc24a1f0..8fe7898a55ab7e8e435276ecb397c358489de579 100644 (file)
@@ -1,6 +1,6 @@
 // dwarf_reader.h -- parse dwarf2/3 debug information for gold  -*- C++ -*-
 
-// Copyright 2007, 2008, 2009 Free Software Foundation, Inc.
+// Copyright 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 // Written by Ian Lance Taylor <iant@google.com>.
 
 // This file is part of gold.
@@ -38,12 +38,6 @@ template<int size, bool big_endian>
 class Track_relocs;
 struct LineStateMachine;
 
-uint64_t
-read_unsigned_LEB_128(const unsigned char* buffer, size_t* len);
-
-int64_t
-read_signed_LEB_128(const unsigned char* buffer, size_t* len);
-
 // We can't do better than to keep the offsets in a sorted vector.
 // Here, offset is the key, and file_num/line_num is the value.
 struct Offset_to_lineno_entry
@@ -52,7 +46,10 @@ struct Offset_to_lineno_entry
   int header_num;  // which file-list to use (i.e. which .o file are we in)
   int file_num;    // a pointer into files_
   int line_num;    // the line number in the source file
-  // Offsets are unique within a section, so that's a sufficient sort key.
+
+  // When we add entries to the table, we always use the last entry
+  // with a given offset.  Given proper DWARF info, this should ensure
+  // that the offset is a sufficient sort key.
   bool operator<(const Offset_to_lineno_entry& that) const
   { return this->offset < that.offset; }
 };
@@ -184,6 +181,8 @@ class Sized_dwarf_line_info : public Dwarf_line_info
 
   // This has relocations that point into buffer.
   Track_relocs<size, big_endian> track_relocs_;
+  // The type of the reloc section in track_relocs_--SHT_REL or SHT_RELA.
+  unsigned int track_relocs_type_;
 
   // This is used to figure out what section to apply a relocation to.
   const unsigned char* symtab_buffer_;
This page took 0.024806 seconds and 4 git commands to generate.