--- /dev/null
+ ## Common automake fragments for elfutils subdirectory makefiles.
+ ##
+ ## Copyright (C) 2010 Red Hat, Inc.
+ ## This file is part of Red Hat elfutils.
+ ##
+ ## Red Hat elfutils is free software; you can redistribute it and/or modify
+ ## it under the terms of the GNU General Public License as published by the
+ ## Free Software Foundation; version 2 of the License.
+ ##
+ ## Red Hat elfutils is distributed in the hope that it will be useful, but
+ ## WITHOUT ANY WARRANTY; without even the implied warranty of
+ ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ ## General Public License for more details.
+ ##
+ ## You should have received a copy of the GNU General Public License along
+ ## with Red Hat elfutils; if not, write to the Free Software Foundation,
+ ## Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ ##
+ ## Red Hat elfutils is an included package of the Open Invention Network.
+ ## An included package of the Open Invention Network is a package for which
+ ## Open Invention Network licensees cross-license their patents. No patent
+ ## license is granted, either expressly or impliedly, by designation as an
+ ## included package. Should you wish to participate in the Open Invention
+ ## Network licensing program, please visit www.openinventionnetwork.com
+ ## <http://www.openinventionnetwork.com>.
+ ##
+
+ DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H
+ INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I..
+ AM_CFLAGS = -std=gnu99 -Wall -Wshadow \
+ $(if $($(*F)_no_Werror),,-Werror) \
+ $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \
+ $(if $($(*F)_no_Wformat),-Wno-format,-Wformat=2) \
+ $($(*F)_CFLAGS)
++AM_CXXFLAGS = $(AM_CFLAGS:gnu99=gnu++0x)
+
+ if MUDFLAP
+ AM_CFLAGS += -fmudflap
+ libmudflap = -lmudflap
+ else
+ libmudflap =
+ endif
+
+ COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
+ $(COMPILE))
+
+ %.os: %.c %.o
+ if AMDEP
+ if $(COMPILE.os) -c -o $@ -fpic -DPIC -DSHARED -MT $@ -MD -MP \
+ -MF "$(DEPDIR)/$*.Tpo" `test -f '$<' || echo '$(srcdir)/'`$<; \
+ then cat "$(DEPDIR)/$*.Tpo" >> "$(DEPDIR)/$*.Po"; \
+ rm -f "$(DEPDIR)/$*.Tpo"; \
+ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+ fi
+ else
+ $(COMPILE.os) -c -o $@ -fpic -DPIC -DSHARED $<
+ endif
+
+ CLEANFILES = *.gcno *.gcda
+
+ textrel_check = if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
+2009-10-02 Roland McGrath <roland@redhat.com>
+
+ * 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 <roland@redhat.com>
+
+ * 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 <roland@redhat.com>
+
+ * dwarfcmp.cc: Support four-argument usage to compare specific entries.
+
+2009-09-15 Roland McGrath <roland@redhat.com>
+
+ * dwarfcmp.cc (talker, noisy_cmp): Describe context mismatch details
+ at the end.
+
+2009-08-27 Roland McGrath <roland@redhat.com>
+
+ * 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 <roland@redhat.com>
+
+ * dwarfcmp.cc (talker): Track real vs fake-positive match result
+ and cache only real results in the real tracker.
+
+2009-08-20 Roland McGrath <roland@redhat.com>
+
+ * 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 <roland@redhat.com>
+
+ 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 <roland@redhat.com>
+
+ * dwarfcmp.cc (main): Call dwarf_end before return, for happy valgrind.
+
+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.
+
+ 2010-02-15 Roland McGrath <roland@redhat.com>
+
+ * Makefile.am: Use config/eu.am for common stuff.
+
+ * readelf.c (print_debug_frame_section): Add a cast to avoid sign
+ mismatch in comparison.
+
+ 2010-02-02 Roland McGrath <roland@redhat.com>
+
+ * readelf.c (print_encoding_base): Handle DW_EH_PE_absptr (zero).
+ (read_encoded): Likewise.
+ (print_debug_frame_section): Check for bogus augmentation length.
+ For P augmentation, use read_encoded, print the encoding description,
+ and use hex for unsigned values.
+
+ 2010-01-15 Roland McGrath <roland@redhat.com>
+
+ * ar.c: Include <sys/stat.h>.
+ * elflint.c: Likewise.
+ * readelf.c: Likewise.
+ * strip.c: Likewise.
+ * unstrip.c: Likewise
+
2010-01-07 Roland McGrath <roland@redhat.com>
* readelf.c (print_ehdr): Handle PN_XNUM.
+2009-12-13 Roland McGrath <roland@redhat.com>
+
+ * run-dwarfcmp-self.sh: Move the hairiest/largest cases to last.
+
+2009-09-15 Roland McGrath <roland@redhat.com>
+
+ * print-die.cc: Grok --refs-shared-cu, --refs-shared-file options
+ to share the refs_map across CUs or across files.
+
+2009-08-28 Roland McGrath <roland@redhat.com>
+
+ * run-dwarfcmp-self.sh: Test dwarfcmp-test binary too.
+
+ * print-die.cc: Grok --stats to dump collector stats.
+
+2009-08-27 Roland McGrath <roland@redhat.com>
+
+ * run-dwarfcmp-self.sh: Parameterize. Take out -T runs.
+ * run-dwarfcmp-test-self.sh: New file. Do just -T runs here.
+ * Makefile.am (TESTS, EXTRA_DIST): Add it.
+
+2009-08-25 Roland McGrath <roland@redhat.com>
+
+ * print-die.hh: New file with extern decls. Contents moved to ...
+ * print-die.cc: ... here, new file.
+ * Makefile.am (dwarf_print_SOURCES, dwarf_edit_SOURCES): Build it.
+
+2009-08-21 Roland McGrath <roland@redhat.com>
+
+ * print-die.hh (print_die_main, print_file): Add --silent option.
+
+2009-08-19 Roland McGrath <roland@redhat.com>
+
+ * print-die.hh: Handle --norefs, --dump-refs.
+
+2009-07-03 Roland McGrath <roland@redhat.com>
+
+ * print-die.hh: Grok --sort-attrs option to canonicalize order.
+ Fix ref assignment to produce consistent numbering.
+ * run-dwarf_edit.sh: Update expected output.
+ * run-dwarf-attributes.sh: Likewise.
+
+ * Makefile.am (AM_CXXFLAGS): New variable (from ../src/Makefile.am).
+
+ * print-die.hh: Grok --edit/--output options to print a copied object.
+
+2009-07-02 Roland McGrath <roland@redhat.com>
+
+ * run-dwarf_edit.sh: New file.
+ * dwarf_edit.cc: New file.
+ * Makefile.am (noinst_PROGRAMS, TESTS, EXTRA_DIST): Add them.
+ (dwarf_edit_SOURCES, dwarf_edit_LDADD): New variables.
+
+ * dwarf-print.cc (print_die): Templatify and move ...
+ * print-die.hh: ... here, new file.
+ * Makefile.am (noinst_HEADERS): New variable, add it.
+
+2009-07-01 Roland McGrath <roland@redhat.com>
+
+ * run-dwarfcmp-self.sh: Run on dwarflint too.
+ Fiddle failure output.
+
+2009-06-15 Roland McGrath <roland@redhat.com>
+
+ * dwarf-print.cc: Include <cstdio>.
+
+2009-03-25 Petr Machata <pmachata@redhat.com>
+
+ * dwarf-attributes.cc: New file.
+ * Makefile.am (noinst_PROGRAMS): Add it.
+ (dwarf_attributes_SOURCES, dwarf_attributes_LDADD): New variables.
+
+2009-03-25 Roland McGrath <roland@redhat.com>
+
+ * dwarf-print.cc (print_die, process_file): Take LIMIT argument.
+ Punt recursion at that depth.
+ (main): Grok first argument --depth=N to set it.
+
+2009-03-24 Roland McGrath <roland@redhat.com>
+
+ * dwarf-print.cc: New file.
+ * Makefile.am (noinst_PROGRAMS): Add it.
+ (dwarf_print_SOURCES, dwarf_print_LDADD): New variables.
+
+2009-01-10 Roland McGrath <roland@redhat.com>
+
+ * run-dwarfcmp-self.sh: Also run with -T.
+
+ * run-dwarflint-self.sh: --no-debug -> -i
+
+ * run-dwarfcmp-self.sh: Run both with and without -q.
+
+2009-01-10 Petr Machata <pmachata@redhat.com>
+
+ * run-dwarflint-self.sh: Pass new option --no-debug to dwarflint.
+
+2009-01-10 Roland McGrath <roland@redhat.com>
+
+ * run-dwarflint-self.sh: New file.
+ * Makefile.am (TESTS, EXTRA_DIST) Add it.
+
+2009-01-05 Roland McGrath <roland@redhat.com>
+
+ * run-dwarfcmp-self.sh: New file.
+ * Makefile.am (TESTS, EXTRA_DIST) Add it.
+
+ 2010-02-15 Roland McGrath <roland@redhat.com>
+
+ * Makefile.am: Use config/eu.am for common stuff.
+
+ * asm-tst9.c (main): Rename local to avoid shadowing another local.
+
2009-07-22 Roland McGrath <roland@redhat.com>
* addrcfi.c: Update dwarf_frame_{cfa,register} calling convention.