]> git.ipfire.org Git - thirdparty/elfutils.git/log
thirdparty/elfutils.git
14 years agodwarflint: Make it possible to define relevant options directly at checks
Petr Machata [Tue, 14 Sep 2010 21:05:58 +0000 (23:05 +0200)] 
dwarflint: Make it possible to define relevant options directly at checks

14 years agodwarflint: And add the description
Petr Machata [Tue, 14 Sep 2010 14:35:03 +0000 (16:35 +0200)] 
dwarflint: And add the description

14 years agodwarflint: Add a test for nodebug check
Petr Machata [Tue, 14 Sep 2010 14:30:14 +0000 (16:30 +0200)] 
dwarflint: Add a test for nodebug check

14 years agodwarflint: Check for missind debuginfo sections separately
Petr Machata [Tue, 14 Sep 2010 14:14:17 +0000 (16:14 +0200)] 
dwarflint: Check for missind debuginfo sections separately

14 years agodwarflint: Fix test case
Petr Machata [Tue, 14 Sep 2010 12:35:25 +0000 (14:35 +0200)] 
dwarflint: Fix test case
- now that we run the low-level checks as prerequisite of high-level ones,
  we also get low-level errors in testsuite passes.  One more reason to
  implement some sensible message filtering command line options.

14 years agodwarflint: Move secinfo_map initiazitaion into ctor, avoid macros
Petr Machata [Tue, 14 Sep 2010 12:34:11 +0000 (14:34 +0200)] 
dwarflint: Move secinfo_map initiazitaion into ctor, avoid macros
- and reindent two statements below where it's instantiated
- and add a documentation to the section_name array

14 years agodwarflint: Always allow scheduling hidden checks
Petr Machata [Tue, 14 Sep 2010 11:44:46 +0000 (13:44 +0200)] 
dwarflint: Always allow scheduling hidden checks
- and mark a couple "servicing" checks as hidden
- this fixes --check again

14 years agodwarflint: Add a lowlevel_checks pass
Petr Machata [Tue, 7 Sep 2010 21:08:05 +0000 (23:08 +0200)] 
dwarflint: Add a lowlevel_checks pass
- which is where low-level checks are explicitly requested
- and what highlevel checks, also explicitly, depend on

14 years agodwarflint: Drop code from check_debug_line that's now in check_debug_info_refs
Petr Machata [Tue, 7 Sep 2010 13:19:47 +0000 (15:19 +0200)] 
dwarflint: Drop code from check_debug_line that's now in check_debug_info_refs
- and also adjust the documentation

14 years agodwarflint: Check for unresolved references from .debug_info to .debug_line
Petr Machata [Tue, 7 Sep 2010 12:28:24 +0000 (14:28 +0200)] 
dwarflint: Check for unresolved references from .debug_info to .debug_line

- while this check has already been there, it was part of .debug_line.  If
  .debug_line was entirely missing or broken, the check would never be run.
  Now the check is in a separate pass.

14 years agodwarflint: Split check_debug_pub.cc to .hh
Petr Machata [Tue, 7 Sep 2010 12:25:16 +0000 (14:25 +0200)] 
dwarflint: Split check_debug_pub.cc to .hh

14 years agodwarflint: Split check_debug_line.cc to .hh and .ii
Petr Machata [Tue, 7 Sep 2010 12:24:29 +0000 (14:24 +0200)] 
dwarflint: Split check_debug_line.cc to .hh and .ii

14 years agodwarflint: Add a missing include
Petr Machata [Tue, 7 Sep 2010 12:23:10 +0000 (14:23 +0200)] 
dwarflint: Add a missing include

14 years agodwarflint: Formatting nits
Petr Machata [Mon, 6 Sep 2010 18:34:26 +0000 (20:34 +0200)] 
dwarflint: Formatting nits

14 years agodwarflint: Add check_debug_* to the @low group
Petr Machata [Mon, 6 Sep 2010 18:34:14 +0000 (20:34 +0200)] 
dwarflint: Add check_debug_* to the @low group

14 years agodwarflint: Add more TODO items
Petr Machata [Mon, 6 Sep 2010 18:15:44 +0000 (20:15 +0200)] 
dwarflint: Add more TODO items

14 years agodwarflint: Add more TODO items
Petr Machata [Mon, 6 Sep 2010 17:59:23 +0000 (19:59 +0200)] 
dwarflint: Add more TODO items

14 years agodwarflint: Add more TODO items
Petr Machata [Mon, 6 Sep 2010 17:11:28 +0000 (19:11 +0200)] 
dwarflint: Add more TODO items

14 years agodwarflint: Add a test for leaking location
Petr Machata [Mon, 6 Sep 2010 16:57:48 +0000 (18:57 +0200)] 
dwarflint: Add a test for leaking location
- (as documented on the SuspiciousDebuginfoCases wiki page)
- also add the previous test to Makefile.am

14 years agoMerge branch 'pmachata/dwarflint' into dwarf
Petr Machata [Mon, 6 Sep 2010 16:40:13 +0000 (18:40 +0200)] 
Merge branch 'pmachata/dwarflint' into dwarf

14 years agodwarflint: Add a TODO file
Petr Machata [Mon, 6 Sep 2010 16:39:22 +0000 (18:39 +0200)] 
dwarflint: Add a TODO file

14 years agodwarflint: Drop crud
Petr Machata [Mon, 6 Sep 2010 15:46:26 +0000 (17:46 +0200)] 
dwarflint: Drop crud

14 years agodwarflint: Extract cu_coverage to separate check pass
Petr Machata [Mon, 6 Sep 2010 15:44:16 +0000 (17:44 +0200)] 
dwarflint: Extract cu_coverage to separate check pass

- if the data is incomplete or unavailable, the pass fails just like any
  other pass

14 years agodwarflint: Add a description to .debug_abbrev
Petr Machata [Mon, 6 Sep 2010 10:47:55 +0000 (12:47 +0200)] 
dwarflint: Add a description to .debug_abbrev

14 years agodwarflint: Mark dependency of check_debug_abbrev on cu_headers
Petr Machata [Mon, 6 Sep 2010 10:33:40 +0000 (12:33 +0200)] 
dwarflint: Mark dependency of check_debug_abbrev on cu_headers

14 years agodwarflint: Add a description to check_debug_info
Petr Machata [Thu, 2 Sep 2010 21:58:49 +0000 (23:58 +0200)] 
dwarflint: Add a description to check_debug_info

14 years agodwarflint: Add description to check_debug_line
Petr Machata [Thu, 2 Sep 2010 16:30:29 +0000 (18:30 +0200)] 
dwarflint: Add description to check_debug_line

14 years agodwarflint: Add description of check_debug_pub*
Petr Machata [Thu, 2 Sep 2010 15:11:43 +0000 (17:11 +0200)] 
dwarflint: Add description of check_debug_pub*

14 years agodwarflint: More check descriptions
Petr Machata [Thu, 2 Sep 2010 13:55:54 +0000 (15:55 +0200)] 
dwarflint: More check descriptions

14 years agoAdd prerequisities into descriptors
Petr Machata [Mon, 30 Aug 2010 17:11:58 +0000 (19:11 +0200)] 
Add prerequisities into descriptors
- also move as many descriptors as possible into .cc

14 years agodwarflint: Add documentation to check_dups_abstract_origin
Petr Machata [Mon, 30 Aug 2010 00:34:30 +0000 (02:34 +0200)] 
dwarflint: Add documentation to check_dups_abstract_origin

14 years agodwarflint: Make checks self-documenting
Petr Machata [Fri, 27 Aug 2010 17:51:37 +0000 (19:51 +0200)] 
dwarflint: Make checks self-documenting

14 years agodwarflint: Change registrar::item::list to registrar::item::descriptor
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

14 years agodwarflint: Allow sending checkgroup and checkstack into ostream
Petr Machata [Fri, 27 Aug 2010 16:12:59 +0000 (18:12 +0200)] 
dwarflint: Allow sending checkgroup and checkstack into ostream

14 years agodwarflint: Add an ability to list registered checks
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

14 years agodwarflint: Move checkdescriptor to module of its own
Petr Machata [Fri, 27 Aug 2010 15:39:15 +0000 (17:39 +0200)] 
dwarflint: Move checkdescriptor to module of its own

14 years agodwarflint: Move check registrars to .cc files
Petr Machata [Fri, 27 Aug 2010 15:36:31 +0000 (17:36 +0200)] 
dwarflint: Move check registrars to .cc files

14 years agodwarflint: Add missing copyright notices
Petr Machata [Fri, 27 Aug 2010 14:41:50 +0000 (16:41 +0200)] 
dwarflint: Add missing copyright notices

14 years agodwarflint: Add a check for duplicate DW_TAG_variable entries
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

14 years agoReport that the check was entered
Petr Machata [Thu, 26 Aug 2010 12:37:23 +0000 (14:37 +0200)] 
Report that the check was entered

14 years agoReference array in check_debug_loc now uses std::vector
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

14 years agoFix SEGV in --verbose mode
Petr Machata [Thu, 26 Aug 2010 00:32:47 +0000 (02:32 +0200)] 
Fix SEGV in --verbose mode

14 years agoEach check now has a name and group membership
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.

14 years agoCleaner way of handling first push_back in directory_table.
Mark Wielaard [Fri, 20 Aug 2010 14:20:46 +0000 (16:20 +0200)] 
Cleaner way of handling first push_back in directory_table.

14 years agoReindent dwarflint/Makefile.am
Petr Machata [Thu, 19 Aug 2010 15:10:12 +0000 (17:10 +0200)] 
Reindent dwarflint/Makefile.am

14 years agodwarflint: Declare template "section" using an enum type
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

14 years agoRun run-dwarflint-self.sh with new dwarflint/dwarflint location.
Mark Wielaard [Thu, 19 Aug 2010 10:23:42 +0000 (12:23 +0200)] 
Run run-dwarflint-self.sh with new dwarflint/dwarflint location.

14 years agoTreat first entry special in dwarf_data::directory_table, can be NULL/empty.
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.

14 years agoIgnore CU compilation directory in directory table comparison.
Roland McGrath [Wed, 18 Aug 2010 17:56:52 +0000 (10:56 -0700)] 
Ignore CU compilation directory in directory table comparison.

14 years agodwarflint: PRI_DIE is unused in low.c
Petr Machata [Wed, 18 Aug 2010 17:16:30 +0000 (19:16 +0200)] 
dwarflint: PRI_DIE is unused in low.c

14 years agodwarflint: Check all the abbreviation instead of bailing out on first error
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

14 years agodwarflint: Add test suite
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

14 years agodwarflint: detect duplicate attributes in .debug_abbrev
Petr Machata [Wed, 18 Aug 2010 16:01:21 +0000 (18:01 +0200)] 
dwarflint: detect duplicate attributes in .debug_abbrev

14 years agoMove dwarflint to separate directory
Petr Machata [Tue, 17 Aug 2010 17:34:12 +0000 (19:34 +0200)] 
Move dwarflint to separate directory

14 years agoCall read_address_size with file->addr_64 as first argument.
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.

14 years agodwarflint: Extract check_range_out_of_scope::recursively_validate
Petr Machata [Thu, 15 Apr 2010 14:49:38 +0000 (16:49 +0200)] 
dwarflint: Extract check_range_out_of_scope::recursively_validate

14 years agodwarflint: Only check for unused files if we managed to load CUs
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

14 years agodwarflint: Don't accept empty section as present
Petr Machata [Wed, 2 Dec 2009 18:28:45 +0000 (19:28 +0100)] 
dwarflint: Don't accept empty section as present

14 years agodwarflint: Split checks-low.hh/cc into check_debug_aranges.hh/cc and sections.hh...
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

14 years agodwarflint: Recursive check guard
Petr Machata [Mon, 30 Nov 2009 18:20:26 +0000 (19:20 +0100)] 
dwarflint: Recursive check guard

14 years agodwarflint: Fix checking of DW_AT_stmt_list and DW_AT_decl_file
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

14 years agodwarflint: Extract .debug_pub checks into check_debug_pub.cc
Petr Machata [Mon, 30 Nov 2009 17:06:53 +0000 (18:06 +0100)] 
dwarflint: Extract .debug_pub checks into check_debug_pub.cc

14 years agodwarflint: Hide a couple classes in an anonymous namespace
Petr Machata [Mon, 30 Nov 2009 15:55:28 +0000 (16:55 +0100)] 
dwarflint: Hide a couple classes in an anonymous namespace

14 years agodwarflint: Reindent
Petr Machata [Mon, 30 Nov 2009 15:53:55 +0000 (16:53 +0100)] 
dwarflint: Reindent

14 years agodwarflint: Plug remaining leaks
Petr Machata [Mon, 30 Nov 2009 15:52:57 +0000 (16:52 +0100)] 
dwarflint: Plug remaining leaks

14 years agodwarflint: Const correctness, references in a couple places
Petr Machata [Mon, 30 Nov 2009 15:39:01 +0000 (16:39 +0100)] 
dwarflint: Const correctness, references in a couple places

14 years agodwarflint: Plug leak
Petr Machata [Mon, 30 Nov 2009 15:23:25 +0000 (16:23 +0100)] 
dwarflint: Plug leak

14 years agodwarflint: Plug leak (alloca instead of malloc)
Petr Machata [Mon, 30 Nov 2009 15:22:47 +0000 (16:22 +0100)] 
dwarflint: Plug leak (alloca instead of malloc)

14 years agodwarflint: Plug leak in .debug_abbrev abbreviation store
Petr Machata [Mon, 30 Nov 2009 15:22:01 +0000 (16:22 +0100)] 
dwarflint: Plug leak in .debug_abbrev abbreviation store

14 years agodwarflint: Move .debug_abbrev checks to check_debug_abbrev.cc/hh/ii
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

14 years agodwarflint: Rename file to match class name
Petr Machata [Mon, 30 Nov 2009 13:08:43 +0000 (14:08 +0100)] 
dwarflint: Rename file to match class name

14 years agodwarflint: Plug a leak
Petr Machata [Mon, 30 Nov 2009 13:03:31 +0000 (14:03 +0100)] 
dwarflint: Plug a leak

14 years agodwarflint: Whitespace, coding style
Petr Machata [Mon, 30 Nov 2009 13:03:23 +0000 (14:03 +0100)] 
dwarflint: Whitespace, coding style

14 years agodwarflint: Drop some crud
Petr Machata [Mon, 30 Nov 2009 12:58:28 +0000 (13:58 +0100)] 
dwarflint: Drop some crud

14 years agodwarflint: Plug a leak
Petr Machata [Mon, 30 Nov 2009 12:58:15 +0000 (13:58 +0100)] 
dwarflint: Plug a leak

14 years agodwarflint: Drop transitional code
Petr Machata [Mon, 30 Nov 2009 12:49:24 +0000 (13:49 +0100)] 
dwarflint: Drop transitional code

14 years agodwarflint: .debug_info check was always failing
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.

14 years agodwarflint: Move .debug_info checks to check_debug_info.hh/.ii
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.

14 years agodwarflint: Plug leaks.
Petr Machata [Mon, 30 Nov 2009 08:08:43 +0000 (09:08 +0100)] 
dwarflint: Plug leaks.

14 years agodwarflint: Make abbrev table map const
Petr Machata [Mon, 30 Nov 2009 07:57:01 +0000 (08:57 +0100)] 
dwarflint: Make abbrev table map const

14 years agodwarflint: Avoid some use of C interfaces
Petr Machata [Mon, 30 Nov 2009 07:19:48 +0000 (08:19 +0100)] 
dwarflint: Avoid some use of C interfaces

14 years agodwarflint: Fix a memory error
Petr Machata [Mon, 30 Nov 2009 06:47:18 +0000 (07:47 +0100)] 
dwarflint: Fix a memory error

14 years agodwarflint: Coding style
Petr Machata [Mon, 30 Nov 2009 06:46:59 +0000 (07:46 +0100)] 
dwarflint: Coding style

14 years agodwarflint: Plug a leak
Petr Machata [Mon, 30 Nov 2009 06:46:32 +0000 (07:46 +0100)] 
dwarflint: Plug a leak

14 years agodwarflint: Plug a leak
Petr Machata [Mon, 30 Nov 2009 06:46:12 +0000 (07:46 +0100)] 
dwarflint: Plug a leak

14 years agodwarflint: Fix a memory error
Petr Machata [Mon, 30 Nov 2009 06:45:57 +0000 (07:45 +0100)] 
dwarflint: Fix a memory error

14 years agodwarflint: Reindent
Petr Machata [Mon, 30 Nov 2009 06:39:14 +0000 (07:39 +0100)] 
dwarflint: Reindent

14 years agodwarflint: Load high-level DWARF context through libdwfl
Petr Machata [Sun, 29 Nov 2009 21:24:33 +0000 (22:24 +0100)] 
dwarflint: Load high-level DWARF context through libdwfl

14 years agodwarflint: Move Elf* out of dwarflint class
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.

14 years agodwarflint: Fix some coding style
Petr Machata [Thu, 26 Nov 2009 18:40:40 +0000 (19:40 +0100)] 
dwarflint: Fix some coding style

14 years agodwarflint: Expose the underlying string in pri:: family of formatting functions
Petr Machata [Thu, 26 Nov 2009 18:20:23 +0000 (19:20 +0100)] 
dwarflint: Expose the underlying string in pri:: family of formatting functions

14 years agodwarflint: Move a bunch more over to check_debug_loc_range
Petr Machata [Mon, 23 Nov 2009 18:40:44 +0000 (19:40 +0100)] 
dwarflint: Move a bunch more over to check_debug_loc_range

14 years agodwarflint: Move .debug_loc and .debug_range checks to file of their own
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

14 years agodwarflint: Move read_die_chain over to check_debug_info.cc
Petr Machata [Mon, 23 Nov 2009 17:22:56 +0000 (18:22 +0100)] 
dwarflint: Move read_die_chain over to check_debug_info.cc

14 years agodwarflint: Move inline functions out of read_die_chain
Petr Machata [Mon, 23 Nov 2009 17:03:03 +0000 (18:03 +0100)] 
dwarflint: Move inline functions out of read_die_chain

14 years agodwarflint: Inline check_line_structural in the ctor
Petr Machata [Mon, 23 Nov 2009 16:34:29 +0000 (17:34 +0100)] 
dwarflint: Inline check_line_structural in the ctor

14 years agodwarflint: Fix reference checking for DW_OP_bra, DW_OP_skip
Petr Machata [Mon, 23 Nov 2009 14:48:58 +0000 (15:48 +0100)] 
dwarflint: Fix reference checking for DW_OP_bra, DW_OP_skip

14 years agodwarflint: Perhaps better error message for mismatched relocations
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)

14 years agodwarflint: Skip relocations against data in block operands of location expressions
Petr Machata [Mon, 23 Nov 2009 14:06:58 +0000 (15:06 +0100)] 
dwarflint: Skip relocations against data in block operands of location expressions

14 years agodwarflint: Support decoding DW_OP_stack_value, DW_OP_implicit_value
Petr Machata [Mon, 23 Nov 2009 12:50:11 +0000 (13:50 +0100)] 
dwarflint: Support decoding DW_OP_stack_value, DW_OP_implicit_value