]>
git.ipfire.org Git - thirdparty/elfutils.git/log
Petr Machata [Fri, 27 Aug 2010 17:51:37 +0000 (19:51 +0200)]
dwarflint: Make checks self-documenting
Petr Machata [Fri, 27 Aug 2010 16:14:36 +0000 (18:14 +0200)]
dwarflint: Change registrar::item::list to registrar::item::descriptor
- with appropriate change in semantics
- change the way the checks are listed
Petr Machata [Fri, 27 Aug 2010 16:12:59 +0000 (18:12 +0200)]
dwarflint: Allow sending checkgroup and checkstack into ostream
Petr Machata [Fri, 27 Aug 2010 15:41:53 +0000 (17:41 +0200)]
dwarflint: Add an ability to list registered checks
- because the check descriptor is quite simple as of now, the usefulness
of this is rather limited
- plus unregistered checks are not listed, which means that the user will
never know about prereqs like .debug_info. Hard to say whether this is
a problem or not
Petr Machata [Fri, 27 Aug 2010 15:39:15 +0000 (17:39 +0200)]
dwarflint: Move checkdescriptor to module of its own
Petr Machata [Fri, 27 Aug 2010 15:36:31 +0000 (17:36 +0200)]
dwarflint: Move check registrars to .cc files
Petr Machata [Fri, 27 Aug 2010 14:41:50 +0000 (16:41 +0200)]
dwarflint: Add missing copyright notices
Petr Machata [Fri, 27 Aug 2010 14:31:57 +0000 (16:31 +0200)]
dwarflint: Add a check for duplicate DW_TAG_variable entries
- and a test case
Petr Machata [Thu, 26 Aug 2010 12:37:23 +0000 (14:37 +0200)]
Report that the check was entered
Petr Machata [Thu, 26 Aug 2010 12:36:38 +0000 (14:36 +0200)]
Reference array in check_debug_loc now uses std::vector
- instead of an alloca-ed array
- this fixes SEGV, and makes the code simpler
Petr Machata [Thu, 26 Aug 2010 00:32:47 +0000 (02:32 +0200)]
Fix SEGV in --verbose mode
Petr Machata [Wed, 25 Aug 2010 17:16:25 +0000 (19:16 +0200)]
Each check now has a name and group membership
- whether a check is performed can now be configured via a command line
argument --check
- there's no explicit dependency resolution. While checks are really
organized in a dependency graph, only the path from the check under
investigation to its dependant is known at any given time. So with
command line like --check=-X,+Y where Y depends on X, the scheduler
may first reject X several times, just to perform it anyway when it
later turns out that requested test Y depends on it.
Petr Machata [Thu, 19 Aug 2010 15:10:12 +0000 (17:10 +0200)]
Reindent dwarflint/Makefile.am
Petr Machata [Thu, 19 Aug 2010 15:08:14 +0000 (17:08 +0200)]
dwarflint: Declare template "section" using an enum type
* split out enum section_id to separate file to make this possible
* also define section names there
Mark Wielaard [Thu, 19 Aug 2010 10:23:42 +0000 (12:23 +0200)]
Run run-dwarflint-self.sh with new dwarflint/dwarflint location.
Mark Wielaard [Thu, 19 Aug 2010 08:44:46 +0000 (10:44 +0200)]
Treat first entry special in dwarf_data::directory_table, can be NULL/empty.
Roland McGrath [Wed, 18 Aug 2010 17:56:52 +0000 (10:56 -0700)]
Ignore CU compilation directory in directory table comparison.
Petr Machata [Wed, 18 Aug 2010 17:16:30 +0000 (19:16 +0200)]
dwarflint: PRI_DIE is unused in low.c
Petr Machata [Wed, 18 Aug 2010 17:16:13 +0000 (19:16 +0200)]
dwarflint: Check all the abbreviation instead of bailing out on first error
Petr Machata [Wed, 18 Aug 2010 17:14:19 +0000 (19:14 +0200)]
dwarflint: Add test suite
... the first test being for the bugfix of the previous commit
Petr Machata [Wed, 18 Aug 2010 16:01:21 +0000 (18:01 +0200)]
dwarflint: detect duplicate attributes in .debug_abbrev
Petr Machata [Tue, 17 Aug 2010 17:34:12 +0000 (19:34 +0200)]
Move dwarflint to separate directory
Mark Wielaard [Mon, 19 Jul 2010 08:17:16 +0000 (10:17 +0200)]
Call read_address_size with file->addr_64 as first argument.
* src/dwarflint/check_debug_info.cc (read_info_headers): Pass file->addr_64
to read_address_size ().
* src/dwarflint/low.c (check_aranges_structural): Likewise.
Petr Machata [Thu, 15 Apr 2010 14:49:38 +0000 (16:49 +0200)]
dwarflint: Extract check_range_out_of_scope::recursively_validate
Petr Machata [Tue, 15 Dec 2009 12:13:58 +0000 (13:13 +0100)]
dwarflint: Only check for unused files if we managed to load CUs
Petr Machata [Wed, 2 Dec 2009 18:28:45 +0000 (19:28 +0100)]
dwarflint: Don't accept empty section as present
Petr Machata [Wed, 2 Dec 2009 18:26:17 +0000 (19:26 +0100)]
dwarflint: Split checks-low.hh/cc into check_debug_aranges.hh/cc and sections.hh/cc/ii
Petr Machata [Mon, 30 Nov 2009 18:20:26 +0000 (19:20 +0100)]
dwarflint: Recursive check guard
Petr Machata [Mon, 30 Nov 2009 18:19:49 +0000 (19:19 +0100)]
dwarflint: Fix checking of DW_AT_stmt_list and DW_AT_decl_file
* or rather fix first, implement other
Petr Machata [Mon, 30 Nov 2009 17:06:53 +0000 (18:06 +0100)]
dwarflint: Extract .debug_pub checks into check_debug_pub.cc
Petr Machata [Mon, 30 Nov 2009 15:55:28 +0000 (16:55 +0100)]
dwarflint: Hide a couple classes in an anonymous namespace
Petr Machata [Mon, 30 Nov 2009 15:53:55 +0000 (16:53 +0100)]
dwarflint: Reindent
Petr Machata [Mon, 30 Nov 2009 15:52:57 +0000 (16:52 +0100)]
dwarflint: Plug remaining leaks
Petr Machata [Mon, 30 Nov 2009 15:39:01 +0000 (16:39 +0100)]
dwarflint: Const correctness, references in a couple places
Petr Machata [Mon, 30 Nov 2009 15:23:25 +0000 (16:23 +0100)]
dwarflint: Plug leak
Petr Machata [Mon, 30 Nov 2009 15:22:47 +0000 (16:22 +0100)]
dwarflint: Plug leak (alloca instead of malloc)
Petr Machata [Mon, 30 Nov 2009 15:22:01 +0000 (16:22 +0100)]
dwarflint: Plug leak in .debug_abbrev abbreviation store
Petr Machata [Mon, 30 Nov 2009 15:21:27 +0000 (16:21 +0100)]
dwarflint: Move .debug_abbrev checks to check_debug_abbrev.cc/hh/ii
Petr Machata [Mon, 30 Nov 2009 13:08:43 +0000 (14:08 +0100)]
dwarflint: Rename file to match class name
Petr Machata [Mon, 30 Nov 2009 13:03:31 +0000 (14:03 +0100)]
dwarflint: Plug a leak
Petr Machata [Mon, 30 Nov 2009 13:03:23 +0000 (14:03 +0100)]
dwarflint: Whitespace, coding style
Petr Machata [Mon, 30 Nov 2009 12:58:28 +0000 (13:58 +0100)]
dwarflint: Drop some crud
Petr Machata [Mon, 30 Nov 2009 12:58:15 +0000 (13:58 +0100)]
dwarflint: Plug a leak
Petr Machata [Mon, 30 Nov 2009 12:49:24 +0000 (13:49 +0100)]
dwarflint: Drop transitional code
Petr Machata [Mon, 30 Nov 2009 12:34:48 +0000 (13:34 +0100)]
dwarflint: .debug_info check was always failing
* Also drop the cu_chain reversal. In vector, CUs are stored naturally
already. Reversal for performance gains has actually opposite result.
Petr Machata [Mon, 30 Nov 2009 12:32:48 +0000 (13:32 +0100)]
dwarflint: Move .debug_info checks to check_debug_info.hh/.ii
* .ii is for "interfaces". Type _declarations_ go there.
Petr Machata [Mon, 30 Nov 2009 08:08:43 +0000 (09:08 +0100)]
dwarflint: Plug leaks.
Petr Machata [Mon, 30 Nov 2009 07:57:01 +0000 (08:57 +0100)]
dwarflint: Make abbrev table map const
Petr Machata [Mon, 30 Nov 2009 07:19:48 +0000 (08:19 +0100)]
dwarflint: Avoid some use of C interfaces
Petr Machata [Mon, 30 Nov 2009 06:47:18 +0000 (07:47 +0100)]
dwarflint: Fix a memory error
Petr Machata [Mon, 30 Nov 2009 06:46:59 +0000 (07:46 +0100)]
dwarflint: Coding style
Petr Machata [Mon, 30 Nov 2009 06:46:32 +0000 (07:46 +0100)]
dwarflint: Plug a leak
Petr Machata [Mon, 30 Nov 2009 06:46:12 +0000 (07:46 +0100)]
dwarflint: Plug a leak
Petr Machata [Mon, 30 Nov 2009 06:45:57 +0000 (07:45 +0100)]
dwarflint: Fix a memory error
Petr Machata [Mon, 30 Nov 2009 06:39:14 +0000 (07:39 +0100)]
dwarflint: Reindent
Petr Machata [Sun, 29 Nov 2009 21:24:33 +0000 (22:24 +0100)]
dwarflint: Load high-level DWARF context through libdwfl
Petr Machata [Fri, 27 Nov 2009 15:41:10 +0000 (16:41 +0100)]
dwarflint: Move Elf* out of dwarflint class
* instead implement opening in highlevel_check and lowlevel_check
separately. We need to open highlevel check through dwfl,
which does its own Elf opening.
Petr Machata [Thu, 26 Nov 2009 18:40:40 +0000 (19:40 +0100)]
dwarflint: Fix some coding style
Petr Machata [Thu, 26 Nov 2009 18:20:23 +0000 (19:20 +0100)]
dwarflint: Expose the underlying string in pri:: family of formatting functions
Petr Machata [Mon, 23 Nov 2009 18:40:44 +0000 (19:40 +0100)]
dwarflint: Move a bunch more over to check_debug_loc_range
Petr Machata [Mon, 23 Nov 2009 18:39:40 +0000 (19:39 +0100)]
dwarflint: Move .debug_loc and .debug_range checks to file of their own
Petr Machata [Mon, 23 Nov 2009 17:22:56 +0000 (18:22 +0100)]
dwarflint: Move read_die_chain over to check_debug_info.cc
Petr Machata [Mon, 23 Nov 2009 17:03:03 +0000 (18:03 +0100)]
dwarflint: Move inline functions out of read_die_chain
Petr Machata [Mon, 23 Nov 2009 16:34:29 +0000 (17:34 +0100)]
dwarflint: Inline check_line_structural in the ctor
Petr Machata [Mon, 23 Nov 2009 14:48:58 +0000 (15:48 +0100)]
dwarflint: Fix reference checking for DW_OP_bra, DW_OP_skip
Petr Machata [Mon, 23 Nov 2009 14:07:45 +0000 (15:07 +0100)]
dwarflint: Perhaps better error message for mismatched relocations
* (i.e. relocations that relocate some datum that dwarflint knows
nothing about)
Petr Machata [Mon, 23 Nov 2009 14:06:58 +0000 (15:06 +0100)]
dwarflint: Skip relocations against data in block operands of location expressions
Petr Machata [Mon, 23 Nov 2009 12:50:11 +0000 (13:50 +0100)]
dwarflint: Support decoding DW_OP_stack_value, DW_OP_implicit_value
Petr Machata [Mon, 23 Nov 2009 12:32:32 +0000 (13:32 +0100)]
dwarflint: Fix relocating of abbrev table offset in CU header loader
Petr Machata [Fri, 20 Nov 2009 19:40:06 +0000 (20:40 +0100)]
dwarflint: Fix some formatting.
Petr Machata [Fri, 20 Nov 2009 19:39:49 +0000 (20:39 +0100)]
dwarflint: Extract CU header loading into pass of its own
* Use separately loaded CU headers to select a DWARF version to validate
abbreviation table against.
Petr Machata [Fri, 20 Nov 2009 19:33:51 +0000 (20:33 +0100)]
dwarflint: Separate loading of CU header from validation of CU body
* A temporary solution, single-file only
Petr Machata [Fri, 20 Nov 2009 15:45:59 +0000 (16:45 +0100)]
dwarflint: Move .debug_info code into check_debug_info.cc
* also cut out parts of stuct cu to struct cu_head
* also constify a bunch of where pointers that are passed around
Petr Machata [Thu, 19 Nov 2009 12:18:23 +0000 (13:18 +0100)]
dwarflint: More systematic support for various DWARF versions
* ... currently only wrt which forms are valid, which are allowed where, etc.
Format structure is not encoded there at all.
Petr Machata [Fri, 13 Nov 2009 18:43:23 +0000 (19:43 +0100)]
dwarflint: Work on support of multiple versions
Petr Machata [Mon, 9 Nov 2009 07:50:43 +0000 (08:50 +0100)]
dwarflint: Fix memory errors in pri::pribase
Petr Machata [Mon, 9 Nov 2009 07:49:30 +0000 (08:49 +0100)]
dwarflint: Output abbrev section offset in decimal
... for readelf compatibility
Petr Machata [Mon, 9 Nov 2009 07:48:24 +0000 (08:48 +0100)]
dwarflint: Fix C-interface to abbrev table
Petr Machata [Mon, 9 Nov 2009 07:17:24 +0000 (08:17 +0100)]
dwarflint: Typo
Petr Machata [Mon, 9 Nov 2009 07:15:49 +0000 (08:15 +0100)]
dwarflint: Coding style
Petr Machata [Mon, 9 Nov 2009 07:15:26 +0000 (08:15 +0100)]
dwarflint: Add pri::tag
Petr Machata [Wed, 4 Nov 2009 14:25:08 +0000 (15:25 +0100)]
dwarflint: Improve code for a couple more messages
Petr Machata [Wed, 4 Nov 2009 14:11:40 +0000 (15:11 +0100)]
dwarflint: Fix some error messages
Petr Machata [Wed, 4 Nov 2009 14:11:18 +0000 (15:11 +0100)]
dwarflint: Use pri::hex where possible
* Change pri::addr to be trivial subclass of pri::hex
Petr Machata [Wed, 4 Nov 2009 13:42:29 +0000 (14:42 +0100)]
dwarflint: More consolidation of message formatting code
Petr Machata [Tue, 27 Oct 2009 15:41:32 +0000 (16:41 +0100)]
dwarflint: A nit.
Petr Machata [Tue, 27 Oct 2009 15:40:32 +0000 (16:40 +0100)]
dwarflint: Check for dup attribs between DIE and its DW_AT_abstract_origin
Petr Machata [Tue, 27 Oct 2009 13:37:53 +0000 (14:37 +0100)]
dwarflint: Coding style
Petr Machata [Tue, 27 Oct 2009 13:11:30 +0000 (14:11 +0100)]
dwarflint: Add DIE tree flattening iterator
Petr Machata [Mon, 26 Oct 2009 14:44:46 +0000 (15:44 +0100)]
dwarflint: Avoid repeating once failed tests
Petr Machata [Mon, 26 Oct 2009 13:29:22 +0000 (14:29 +0100)]
dwarflint: Move some code around
Petr Machata [Mon, 26 Oct 2009 13:20:50 +0000 (14:20 +0100)]
dwarflint: Rename main.hh to dwarflint.hh
Petr Machata [Fri, 23 Oct 2009 15:08:43 +0000 (17:08 +0200)]
dwarflint: Better support for emitting messages from C++
* tried to convert some code, and it seems to work fine
Petr Machata [Fri, 23 Oct 2009 12:42:25 +0000 (14:42 +0200)]
dwarflint: .debug_line logic in file of its own
* ... and reloc code, too
Petr Machata [Thu, 22 Oct 2009 15:30:11 +0000 (17:30 +0200)]
dwarflint: Extract .debug_abbrev check
Petr Machata [Wed, 21 Oct 2009 21:40:12 +0000 (23:40 +0200)]
dwarflint: check_debug_info not a strong prerequisite of check_debug_aranges
Petr Machata [Wed, 21 Oct 2009 21:39:09 +0000 (23:39 +0200)]
dwarflint: Move ref_record to addr-record.h/.cc
Petr Machata [Wed, 21 Oct 2009 19:28:49 +0000 (21:28 +0200)]
dwarflint: Move .debug_line checks to new infrastructure
Petr Machata [Wed, 21 Oct 2009 19:28:12 +0000 (21:28 +0200)]
dwarflint: Move addr_record stuff to file of its own
Petr Machata [Wed, 21 Oct 2009 16:54:44 +0000 (18:54 +0200)]
dwarflint: Move to separate directory