]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
Merge commit 'origin/master' into dwarf
authorRoland McGrath <roland@redhat.com>
Wed, 8 Jul 2009 21:07:20 +0000 (14:07 -0700)
committerRoland McGrath <roland@redhat.com>
Wed, 8 Jul 2009 21:07:20 +0000 (14:07 -0700)
Conflicts:
libdw/ChangeLog
src/ChangeLog

1  2 
libdw/ChangeLog
src/ChangeLog
src/readelf.c

diff --cc libdw/ChangeLog
index a13136c79bbd76bc0e56ae3cebfcf4caec62ab41,600f6dc33d60b213ce875a242242fe4b9bb7fcbf..deb3817b6282844a6e8416d6e1aa01e08a6c92fd
 +2009-07-08  Roland McGrath  <roland@redhat.com>
 +
 +      * c++/dwarf-knowledge.cc (expected_value_space):
 +      DW_AT_data_member_location can be constant or location.
 +      * c++/values.cc (what_space): Treat only data[48] as *ptr when those
 +      are expected.  No other data forms can be *ptr.
 +
 +      * c++/output-shape.cc: New file.
 +      * Makefile.am (libdwpp_a_SOURCES): Add it.
 +      * c++/dwarf_output: Call add_shape method there.
 +
 +2009-07-06  Roland McGrath  <roland@redhat.com>
 +
 +      * c++/dwarf_tracker (tracker): Break out private class into ...
 +      (dwarf_path_finder): ... here.
 +
 +2009-07-03  Roland McGrath  <roland@redhat.com>
 +
 +      * c++/dwarf: Give line info stubby to_string methods.
 +      * c++/dwarf_data: Likewise.
 +      * c++/edit-values.cc: Likewise.
 +
 +      * c++/dwarf: Fix location_attr iterators.
 +      * c++/values.cc: Likewise.
 +
 +      * Makefile.am (AM_CXXFLAGS): New variable (from ../src/Makefile.am).
 +
 +      * c++/dwarf: Fix range_list canonicalizing comparisons.
 +
 +      * c++/dwarf_edit: Fix copy construction using a ref-maker.
 +      * c++/dwarf_data: Updates.
 +      * c++/subr.hh: Updates.
 +      * c++/dwarf_ref_maker: New file.
 +      * Makefile.am (pkginclude_HEADERS): Add it.
 +
 +2009-07-02  Roland McGrath  <roland@redhat.com>
 +
 +      * c++/dwarf: Get rid of VS::unit_reference.
 +      * c++/dwarf-knowledge.cc: Likewise.
 +      * c++/dwarf_comparator: Likewise.
 +      * c++/dwarf_data: Likewise.
 +      * libdw/c++/values.cc: Likewise.
 +      * c++/data-values.hh: Likewise.
 +
 +      * c++/dwarf_output: Rewrite.
 +      * c++/subr.hh: New helpers for dwarf_output/dwarf_data.
 +
 +      * c++/dwarf_edit: Much guts moved to ...
 +      * c++/dwarf_data: ... here, new file.
 +      * c++/known.cc: Update specializations.
 +
 +      * libdw/c++/edit-values.cc (what_space): Moved to ...
 +      * c++/data-values.hh: ... here, new file.
 +
 +      * Makefile.am (noinst_HEADERS): Add it.
 +
 +      * c++/output-values.cc: New file.
 +      * Makefile.am (libdwpp_a_SOURCES): Add it.
 +      Makefile.am (pkginclude_HEADERS): Add dwarf_data, dwarf_output.
 +
 +      * c++/dwarf: Use to_string function overload, not to_string method.
 +      * c++/values.cc: Define to_string specializations.
 +
 +2009-07-01  Roland McGrath  <roland@redhat.com>
 +
 +      * c++/dwarf_tracker: Major revamp for efficiency and to handle
 +      circular reference chains.
 +      * c++/dwarf_comparator: Tracker interface changes.
 +
 +2009-06-19  Roland McGrath  <roland@redhat.com>
 +
 +      * c++/dwarf_comparator: New file.
 +      * c++/dwarf_tracker: New file.
 +      * Makefile.am (pkginclude_HEADERS): Add them.
 +
 +      * c++/dwarf_edit: Miscellaneous fixes.
 +      Support dwarf_enum, to_string for attributes.
 +      * c++/known.cc: Support dwarf_edit::dwarf_enum.
 +      * c++/edit-values.cc: Support to_string for attributes.
 +      * c++/values.cc: Rejiggered accordingly.
 +
 +      * c++/dwarf-knowledge.cc (expected_value_space): Expect unit_reference
 +      only for DW_TAG_imported_unit.
 +
 +      * c++/dwarf: Miscellaneous fixes.
 +
 +2009-04-02  Roland McGrath  <roland@redhat.com>
 +
 +      * Makefile.am (noinst_HEADERS): Add known-dwarf.h and
 +      c++/dwarf-knowledge.cc here.
 +
 +2009-03-29  Roland McGrath  <roland@redhat.com>
 +
 +      * c++/exception.cc: New file.
 +      * Makefile.am (libdwpp_a_SOURCES): Add it.
 +
 +2009-03-25  Roland McGrath  <roland@redhat.com>
 +
 +      * c++/dwarf, c++/values.cc: Proper dwarf_constant support.
 +      * c++/dwarf_edit, c++/edit-values.cc: Likewise.
 +      * c++/known.cc: New file.
 +      * Makefile.am (libdwpp_a_SOURCES): Add it.
 +
 +2009-03-24  Petr Machata  <pmachata@redhat.com>
 +
 +      * c++/dwarf (dwarf::debug_info_entry::raw_attributes):
 +      Fix iteration over attributes.
 +
 +2009-03-24  Roland McGrath  <roland@redhat.com>
 +
 +      * Makefile.am (libdwpp_a_SOURCES): New variable.
 +      (lib_LIBRARIES): Add libdwpp.a to it.
 +
 +2009-02-26  Roland McGrath  <roland@redhat.com>
 +
 +      * c++/dwarf (dwarf::attr_value): Add _m_tag private member.
 +      (dwarf::attr_value, dwarf::attribute): Update initializers.
 +      (dwarf::raw_attributes::const_iterator): Update caller.
 +      * c++/values.cc (attr_value::what_space): Use it.
 +
 +2009-02-01  Roland McGrath  <roland@redhat.com>
 +
 +      * c++/edit-values.cc: New file.
 +
 +2009-01-28  Roland McGrath  <roland@redhat.com>
 +
 +      * c++/dwarf: Add line table support.
 +      * c++/values.cc: New file.
 +      * c++/line_info.cc: New file.
 +      * c++/subr.hh: New file.
 +      * Makefile.am (pkginclude_HEADERS): Add it.
 +
 +2009-01-26  Roland McGrath  <roland@redhat.com>
 +
 +      * c++/dwarf (dwarf_output): Renamed to dwarf_edit and moved to ...
 +      * c++/dwarf_edit: ... here.  New file.
 +      * Makefile.am (pkginclude_HEADERS): Add it.
 +
 +2009-01-10  Roland McGrath  <roland@redhat.com>
 +
 +      * c++/dwarf: New file.
 +      * Makefile.am (pkginclude_HEADERS): Add it.
 +
+ 2009-07-08  Roland McGrath  <roland@redhat.com>
+       * dwarf_getlocation.c (check_constant_offset): New function.
+       (dwarf_getlocation, dwarf_getlocation_addr): Call it to
+       handle DW_AT_data_member_location of data[48] as constant offset.
  2009-06-18  Roland McGrath  <roland@redhat.com>
  
        * libdwP.h (__libdw_read_address_inc): Constify.
diff --cc src/ChangeLog
index 2ef1e42cc9f5ca2edb6c949046b4ad47c0c57185,51b3dd8007f54c93a97283ef0c4ca01f67c12ba9..58198a8b0a2ab36ee08b7f6a8d921c8049398291
 +2009-07-06  Roland McGrath  <roland@redhat.com>
 +
 +      * dwarfcmp.cc (test_writer): Make it an int.
 +      (parse_opt): Make -T increment it.
 +      (main): Test only dwarf_output for -T, only dwarf_edit for -TT,
 +      both only for -TTT.
 +
 +2009-07-03  Roland McGrath  <roland@redhat.com>
 +
 +      * Makefile.am (AM_CXXFLAGS): Drop -Wno-unused-parameter.
 +
 +      * dwarfcmp.cc (open_file): Exit 77 for no DWARF under -T.
 +
 +2009-07-02  Roland McGrath  <roland@redhat.com>
 +
 +      * dwarflint-hl.cc (operator<<): dwarf::VS_unit_reference is gone.
 +
 +      * dwarfcmp.cc (main): Update -T constructors using tracker.
 +      Instantiate and test dwarf_output for -T too.
 +
 +2009-07-01  Roland McGrath  <roland@redhat.com>
 +
 +      * dwarfcmp.cc (talker): Update constructor parameters.
 +
 +2009-06-19  Roland McGrath  <roland@redhat.com>
 +
 +      * dwarfcmp.cc: Revamp using dwarf_comparator.
 +
 +      * dwarflint-expected-at.cc: Include <config.h> first.
 +      * dwarflint-expected.hh (expected_map::expectation_map):
 +      Use dwarf::tags.
 +      (to_string): Function removed.
 +      * dwarflint-hl.cc (recursively_validate): Don't use it.
 +
 +      * dwarflint.c (abbrev_table_load): No-op control flow fiddle
 +      silences gcc-4.4 -O3 warning.
 +
 +2009-04-02  Roland McGrath  <roland@redhat.com>
 +
 +      * Makefile.am (noinst_HEADERS): Add dwarfstrings.h here.
 +      (dwarflint_SOURCES): Add dwarflint-expected.hh and dwarflint.h here.
 +      (noinst_HEADERS): Add expr_opcodes.h too.
 +
 +2009-03-24  Roland McGrath  <roland@redhat.com>
 +
 +      * Makefile.am (libdwplusplus_SOURCES): Variable removed.
 +      (dwarfcmp_SOURCES, dwarflint_SOURCES): Don't use it.
 +      (libdwpp): New variable.
 +      (dwarfcmp_LDADD, dwarflint_LDADD): Use it.
 +
 +2009-03-05  Petr Machata  <pmachata@redhat.com>
 +
 +      * dwarflint.c: Add --nohl command line switch.
 +
 +2009-01-28  Petr Machata  <pmachata@redhat.com>
 +
 +      * dwarflint.c: Coding style cleanups.
 +      (found_hole): Tolerate zero-padding to given alignment.
 +
 +2009-01-27  Petr Machata  <pmachata@redhat.com>
 +
 +      * dwarflint.c: Implement validation of .debug_ranges and
 +      references from .debug_info to .debug_ranges.
 +
 +2009-01-27  Petr Machata  <pmachata@redhat.com>
 +
 +      * dwarflint.c: Check that the base address selection entry
 +      actually changes base address.
 +
 +2009-01-27  Petr Machata  <pmachata@redhat.com>
 +
 +      * dwarflint.c: Match the way dwarflint reports offsets with the
 +      way elfutils does it.
 +
 +2009-01-26  Petr Machata  <pmachata@redhat.com>
 +
 +      * dwarflint.c (check_aranges_structural): Check that each CU is
 +      referenced from one aranges section only.
 +      (check_pub_structural): Likewise for pubnames and pubtypes.
 +      (read_ctx_read_uleb128): Allow ten-byte ULEB128.
 +
 +2009-01-23  Petr Machata  <pmachata@redhat.com>
 +
 +      * dwarflint.c (check_debug_info_structural): Check that all CUs
 +      have the same address size.
 +
 +2009-01-17  Roland McGrath  <roland@redhat.com>
 +
 +      * expr_opcodes.h: Fix DW_OP_deref entry.
 +      Add DW_OP_GNU_push_tls_address, DW_OP_GNU_uninit.
 +
 +2009-01-17  Petr Machata  <pmachata@redhat.com>
 +
 +      * dwarflint.c: Better location handling: references now carry
 +      along where did they originate (i.e. which section, offset, etc.),
 +      all messages are location-aware.
 +      (struct where): New structure that captures location inside the
 +      Dwarf file.  Can be chained to achieve chains of "caused by this
 +      reference" messages ala GCC.
 +
 +2009-01-15  Petr Machata  <pmachata@redhat.com>
 +
 +      * dwarflint.c: Implement validation of .debug_loc and references
 +      from .debug_info to .debug_loc.
 +
 +2009-01-14  Petr Machata  <pmachata@redhat.com>
 +
 +      * dwarfstrings.h (dwarf_locexpr_opcode_string): New.
 +
 +2009-01-14  Petr Machata  <pmachata@redhat.com>
 +
 +      * dwarflint.c: Validation .debug_pubtypes.
 +
 +2009-01-13  Petr Machata  <pmachata@redhat.com>
 +
 +      * dwarflint.c: Adjust check_pubnames_structural to be able to
 +      validate also .debug_pubtypes.
 +
 +2009-01-13  Petr Machata  <pmachata@redhat.com>
 +
 +      * dwarflint.c: Rewrite message macros to functions.  This makes it
 +      possible to rewrite several other macros to functions.
 +
 +2009-01-12  Petr Machata  <pmachata@redhat.com>
 +
 +      * dwarflint.c: Implement validation of .debug_pubnames.
 +
 +2009-01-12  Petr Machata  <pmachata@redhat.com>
 +
 +      * dwarflint.c: Check padding between sections in .debug_aranges.
 +
 +2009-01-12  Petr Machata  <pmachata@redhat.com>
 +
 +      * dwarflint.c: For DIE references, remember both referrer and
 +      referree.  Add a new data structure ref_record to support that.
 +      Add new message category, mc_die_rel_ref.  Rename other DIE
 +      relationship categories to mc_die_rel_* pattern.
 +
 +2009-01-12  Petr Machata  <pmachata@redhat.com>
 +
 +      * dwarflint.c: Changes in data structures for recording DIEs and CUs.
 +
 +2009-01-12  Petr Machata  <pmachata@redhat.com>
 +
 +      * dwarflint.c: Implement validation of .debug_aranges.
 +
 +2009-01-11  Petr Machata  <pmachata@redhat.com>
 +
 +      * dwarflint.c (process_file): Handle absence of .debug_info,
 +      .debug_abbrev and .debug_str gracefully.
 +
 +2009-01-11  Petr Machata  <pmachata@redhat.com>
 +
 +      * dwarflint.c: A couple small fixes across the code.
 +      (check_debug_info_structural): Return bool.
 +      (check_cu_structural): Likewise.
 +      (check_addr_record_addr): Likewise.
 +      (check_die_references): Likewise.
 +
 +2009-01-10  Roland McGrath  <roland@redhat.com>
 +
 +      * dwarfcmp.cc (test_writer): New variable.
 +      (options, parse_opt): Grok -T/--test-writer to set it.
 +      (main): When set, exercise dwarf_output constructors and comparators.
 +
 +      * dwarflint.c (options, parse_opt): Replace --no-debug with
 +      -i/--ignore-missing, to match dwarfcmp.
 +
 +2009-01-10  Petr Machata  <pmachata@redhat.com>
 +
 +      * dwarflint.c: Implement --no-debug: silently accept file, if its
 +      debug info is not available.
 +
 +2009-01-10  Roland McGrath  <roland@redhat.com>
 +
 +      * dwarfcmp.cc: New file.
 +      * Makefile.am (bin_PROGRAMS): Add dwarfcmp.
 +      (dwarfcmp_SOURCES): New variable.
 +      (dwarfcmp_no_Wformat, dwarfcmp_LDADD): New variables.
 +
 +2009-01-10  Petr Machata  <pmachata@redhat.com>
 +
 +      * dwarflint.c: Implement fine-grained message selection.  Each
 +      message has a category, which is bitwise OR of category options.
 +      There are acceptance and rejection criteria for warnings and
 +      errors, which can be tuned using command-line options (currently
 +      --strict and --gnu).
 +      Use dwarfstrings.h in two messages.
 +
 +2009-01-10  Petr Machata  <pmachata@redhat.com>
 +
 +      * readelf.c: Extract functions that format dwarf enums into a file
 +      of its own, so it can be shared with dwarflint.
 +      * dwarfstrings.h: That file.
 +
 +2009-01-09  Petr Machata  <pmachata@redhat.com>
 +
 +      * dwarflint.c: Sort the abbrev tables and look up abbreviations
 +      with bisect search.
 +
 +2009-01-09  Petr Machata  <pmachata@redhat.com>
 +
 +      * dwarflint.c: Checking for zero padding and unreferenced bytes.
 +      CU size and padding at the end of CU are now checked.
 +
+ 2009-07-08  Mark Wielaard  <mjw@redhat.com>
+       * readelf.c (attr_callback): Handle DW_Form constants for
+       DW_AT_data_member_location.
+ 2009-07-06  Roland McGrath  <roland@redhat.com>
+       * readelf.c (register_info): New function.  Handle unknown register #s.
+       (print_cfa_program): Use it.
+       (handle_core_register, handle_core_registers): Likewise.
  2009-06-28  Roland McGrath  <roland@redhat.com>
  
        * readelf.c (print_address_names): New static variable.
diff --cc src/readelf.c
Simple merge