[gdb] [archer-tromey-dwz-multifile-rebase] Fix DWARF files reading (Tom Tromey).

Jan Kratochvil jankratochvil at fedoraproject.org
Fri Jul 6 17:30:37 UTC 2012


commit e7f1c832a7a82285a0a7e759e1c18cd5fd8c0ac8
Author: Jan Kratochvil <jan.kratochvil at redhat.com>
Date:   Fri Jul 6 19:30:32 2012 +0200

    [archer-tromey-dwz-multifile-rebase] Fix DWARF files reading (Tom Tromey).

 gdb-archer.patch |   19 ++++++++++---------
 gdb.spec         |    5 ++++-
 2 files changed, 14 insertions(+), 10 deletions(-)
---
diff --git a/gdb-archer.patch b/gdb-archer.patch
index 0d15626..db9a9bb 100644
--- a/gdb-archer.patch
+++ b/gdb-archer.patch
@@ -2,7 +2,7 @@ http://sourceware.org/gdb/wiki/ProjectArcher
 http://sourceware.org/gdb/wiki/ArcherBranchManagement
 
 GIT snapshot:
-commit f07a2a24c493eebc9df6b7c9ca8c7fe0813aaffd
+commit b478323cbd38598902fa2efb1794192d7ba627b1
 
 branch `archer' - the merge of branches:
 archer-jankratochvil-vla
@@ -1501,7 +1501,7 @@ index e9d06a3..bfa6776 100644
  /* Compile a DWARF location expression to an agent expression.
     
 diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
-index 52288e8..447dc25 100644
+index 52288e8..603b669 100644
 --- a/gdb/dwarf2read.c
 +++ b/gdb/dwarf2read.c
 @@ -64,20 +64,12 @@
@@ -3553,7 +3553,7 @@ index 52288e8..447dc25 100644
      }
  }
  
-@@ -17008,28 +17548,34 @@ dwarf2_per_cu_text_offset (struct dwarf2_per_cu_data *per_cu)
+@@ -17008,28 +17548,35 @@ dwarf2_per_cu_text_offset (struct dwarf2_per_cu_data *per_cu)
  
  static struct dwarf2_per_cu_data *
  dwarf2_find_containing_comp_unit (sect_offset offset,
@@ -3575,8 +3575,9 @@ index 52288e8..447dc25 100644
 -	  >= offset.sect_off)
 +      mid_cu = dwarf2_per_objfile->all_comp_units[mid];
 +      cu_off = &mid_cu->offset;
-+      if (mid_cu->is_dwz >= offset_in_dwz
-+	  && cu_off->sect_off >= offset.sect_off)
++      if (mid_cu->is_dwz > offset_in_dwz
++	  || (mid_cu->is_dwz == offset_in_dwz
++	      && cu_off->sect_off >= offset.sect_off))
  	high = mid;
        else
  	low = mid + 1;
@@ -3593,7 +3594,7 @@ index 52288e8..447dc25 100644
  	error (_("Dwarf Error: could not find partial DIE containing "
  	       "offset 0x%lx [in module %s]"),
  	       (long) offset.sect_off, bfd_get_filename (objfile->obfd));
-@@ -17270,6 +17816,25 @@ per_cu_offset_and_type_eq (const void *item_lhs, const void *item_rhs)
+@@ -17270,6 +17817,25 @@ per_cu_offset_and_type_eq (const void *item_lhs, const void *item_rhs)
  	  && ofs_lhs->offset.sect_off == ofs_rhs->offset.sect_off);
  }
  
@@ -3619,7 +3620,7 @@ index 52288e8..447dc25 100644
  /* Set the type associated with DIE to TYPE.  Save it in CU's hash
     table if necessary.  For convenience, return TYPE.
  
-@@ -17294,6 +17859,8 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
+@@ -17294,6 +17860,8 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
    struct dwarf2_per_cu_offset_and_type **slot, ofs;
    struct objfile *objfile = cu->objfile;
  
@@ -3628,7 +3629,7 @@ index 52288e8..447dc25 100644
    /* For Ada types, make sure that the gnat-specific data is always
       initialized (if not already set).  There are a few types where
       we should not be doing so, because the type-specific area is
-@@ -17471,53 +18038,13 @@ show_dwarf2_cmd (char *args, int from_tty)
+@@ -17471,53 +18039,13 @@ show_dwarf2_cmd (char *args, int from_tty)
    cmd_show_list (show_dwarf2_cmdlist, from_tty, "");
  }
  
@@ -3683,7 +3684,7 @@ index 52288e8..447dc25 100644
  
    for (ix = 0; ix < dwarf2_per_objfile->n_comp_units; ++ix)
      VEC_free (dwarf2_per_cu_ptr,
-@@ -17527,6 +18054,9 @@ dwarf2_per_objfile_free (struct objfile *objfile, void *d)
+@@ -17527,6 +18055,9 @@ dwarf2_per_objfile_free (struct objfile *objfile, void *d)
  
    if (data->dwo_files)
      free_dwo_files (data->dwo_files, objfile);
diff --git a/gdb.spec b/gdb.spec
index 05e641e..de96430 100644
--- a/gdb.spec
+++ b/gdb.spec
@@ -35,7 +35,7 @@ Version: 7.4.50.%{snap}
 
 # The release always contains a leading reserved number, start it at 1.
 # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
-Release: 10%{?dist}
+Release: 11%{?dist}
 
 License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and BSD and Public Domain
 Group: Development/Debuggers
@@ -1352,6 +1352,9 @@ fi
 %endif # 0%{!?el5:1} || "%{_target_cpu}" == "noarch"
 
 %changelog
+* Fri Jul  6 2012 Jan Kratochvil <jan.kratochvil at redhat.com> - 7.4.50.20120703-11.fc18
+- [archer-tromey-dwz-multifile-rebase] Fix DWARF files reading (Tom Tromey).
+
 * Fri Jul  6 2012 Jan Kratochvil <jan.kratochvil at redhat.com> - 7.4.50.20120703-10.fc18
 - Fix build-id-core-loads internal error (BZ 837870).
 


More information about the scm-commits mailing list