From: Roland McGrath Date: Sat, 9 Jan 2010 02:17:50 +0000 (-0800) Subject: Merge commit 'origin/master' into dwarf X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9749244dd28088b49f0719bd7f22515feda49b8f;p=thirdparty%2Felfutils.git Merge commit 'origin/master' into dwarf Conflicts: src/ChangeLog --- 9749244dd28088b49f0719bd7f22515feda49b8f diff --cc src/ChangeLog index 818b4ecf8,c4b5b0537..3a0ecc895 --- a/src/ChangeLog +++ b/src/ChangeLog @@@ -1,262 -1,20 +1,279 @@@ +2009-10-02 Roland McGrath + + * dwarfcmp.cc (talker): Show missing/extra children, not just count. + (noisy_compare): In explicit-offsets case, print for a positive match. + + * dwarfcmp.cc (talker::print_one_reference_mismatch): Compare entries, + not references. + +2009-10-01 Roland McGrath + + * dwarfcmp.cc: Support more than for arguments to compare multiple + right-hand side entries against the same left-hand side. + + * dwarfcmp.cc (talker): Describe reference mismatch details at the + end, iterating when that mentions new mismatches. + +2009-09-30 Roland McGrath + + * dwarfcmp.cc: Support four-argument usage to compare specific entries. + +2009-09-15 Roland McGrath + + * dwarfcmp.cc (talker, noisy_cmp): Describe context mismatch details + at the end. + +2009-08-27 Roland McGrath + + * dwarfcmp.cc (do_writer_test): New function, broken out of ... + (main): ... here. + [TEST]: Conditionalize -T and all its code on this. + +2009-08-25 Roland McGrath + + * dwarfcmp.cc (talker): Track real vs fake-positive match result + and cache only real results in the real tracker. + +2009-08-20 Roland McGrath + + * dwarfcmp.cc (verbose): New variable. + (options, parse_opt): Add --verbose/-l to set it. + (talker): Keep going after mismatches when verbose. + +2009-08-19 Roland McGrath + + Diagnose reference mismatches with more detail. + * dwarfcmp.cc (talker::reference_mismatch): New method. + (talker::mismatch): Call it. + + * dwarfcmp.cc (talker): Update constructor for tracker changes. + +2009-08-16 Roland McGrath + + * dwarfcmp.cc (main): Call dwarf_end before return, for happy valgrind. + +2009-07-06 Roland McGrath + + * 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 + + * Makefile.am (AM_CXXFLAGS): Drop -Wno-unused-parameter. + + * dwarfcmp.cc (open_file): Exit 77 for no DWARF under -T. + +2009-07-02 Roland McGrath + + * 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 + + * dwarfcmp.cc (talker): Update constructor parameters. + +2009-06-19 Roland McGrath + + * dwarfcmp.cc: Revamp using dwarf_comparator. + + * dwarflint-expected-at.cc: Include 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 + + * 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 + + * 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 + + * dwarflint.c: Add --nohl command line switch. + +2009-01-28 Petr Machata + + * dwarflint.c: Coding style cleanups. + (found_hole): Tolerate zero-padding to given alignment. + +2009-01-27 Petr Machata + + * dwarflint.c: Implement validation of .debug_ranges and + references from .debug_info to .debug_ranges. + +2009-01-27 Petr Machata + + * dwarflint.c: Check that the base address selection entry + actually changes base address. + +2009-01-27 Petr Machata + + * dwarflint.c: Match the way dwarflint reports offsets with the + way elfutils does it. + +2009-01-26 Petr Machata + + * 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 + + * dwarflint.c (check_debug_info_structural): Check that all CUs + have the same address size. + +2009-01-17 Roland McGrath + + * expr_opcodes.h: Fix DW_OP_deref entry. + Add DW_OP_GNU_push_tls_address, DW_OP_GNU_uninit. + +2009-01-17 Petr Machata + + * 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 + + * dwarflint.c: Implement validation of .debug_loc and references + from .debug_info to .debug_loc. + +2009-01-14 Petr Machata + + * dwarfstrings.h (dwarf_locexpr_opcode_string): New. + +2009-01-14 Petr Machata + + * dwarflint.c: Validation .debug_pubtypes. + +2009-01-13 Petr Machata + + * dwarflint.c: Adjust check_pubnames_structural to be able to + validate also .debug_pubtypes. + +2009-01-13 Petr Machata + + * dwarflint.c: Rewrite message macros to functions. This makes it + possible to rewrite several other macros to functions. + +2009-01-12 Petr Machata + + * dwarflint.c: Implement validation of .debug_pubnames. + +2009-01-12 Petr Machata + + * dwarflint.c: Check padding between sections in .debug_aranges. + +2009-01-12 Petr Machata + + * 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 + + * dwarflint.c: Changes in data structures for recording DIEs and CUs. + +2009-01-12 Petr Machata + + * dwarflint.c: Implement validation of .debug_aranges. + +2009-01-11 Petr Machata + + * dwarflint.c (process_file): Handle absence of .debug_info, + .debug_abbrev and .debug_str gracefully. + +2009-01-11 Petr Machata + + * 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 + + * 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 + + * dwarflint.c: Implement --no-debug: silently accept file, if its + debug info is not available. + +2009-01-10 Roland McGrath + + * 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 + + * 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 + + * 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 + + * dwarflint.c: Sort the abbrev tables and look up abbreviations + with bisect search. + +2009-01-09 Petr Machata + + * dwarflint.c: Checking for zero padding and unreferenced bytes. + CU size and padding at the end of CU are now checked. + + 2010-01-07 Roland McGrath + + * readelf.c (print_ehdr): Handle PN_XNUM. + (phnum): New static variable. + (process_elf_file): Set it with elf_getphdrnum. + (print_phdr): Use phnum instead of EHDR->e_phnum. + (print_dynamic, handle_notes): Likewise. + (handle_relocs_rel, handle_relocs_rela): Likewise. + + * elfcmp.c (main): Use elf_getshdrnum and elf_getphdrnum. + + * elflint.c (phnum): New static variable. + (check_elf_header): Set it, handling PN_XNUM. + Use that in place of EHDR->e_phnum throughout. + (check_symtab, check_reloc_shdr, check_dynamic): Likewise. + (unknown_dependency_p, check_sections, check_program_header): Likewise. + 2010-01-05 Roland McGrath * readelf.c (dwarf_attr_string): Match DW_AT_GNU_vector and