]> git.ipfire.org Git - thirdparty/elfutils.git/log
thirdparty/elfutils.git
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

14 years agodwarflint: Fix relocating of abbrev table offset in CU header loader
Petr Machata [Mon, 23 Nov 2009 12:32:32 +0000 (13:32 +0100)] 
dwarflint: Fix relocating of abbrev table offset in CU header loader

14 years agodwarflint: Fix some formatting.
Petr Machata [Fri, 20 Nov 2009 19:40:06 +0000 (20:40 +0100)] 
dwarflint: Fix some formatting.

14 years agodwarflint: Extract CU header loading into pass of its own
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.

14 years agodwarflint: Separate loading of CU header from validation of CU body
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

14 years agodwarflint: Move .debug_info code into check_debug_info.cc
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

14 years agodwarflint: More systematic support for various DWARF versions
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.

14 years agodwarflint: Work on support of multiple versions
Petr Machata [Fri, 13 Nov 2009 18:43:23 +0000 (19:43 +0100)] 
dwarflint: Work on support of multiple versions

14 years agodwarflint: Fix memory errors in pri::pribase
Petr Machata [Mon, 9 Nov 2009 07:50:43 +0000 (08:50 +0100)] 
dwarflint: Fix memory errors in pri::pribase

14 years agodwarflint: Output abbrev section offset in decimal
Petr Machata [Mon, 9 Nov 2009 07:49:30 +0000 (08:49 +0100)] 
dwarflint: Output abbrev section offset in decimal

... for readelf compatibility

14 years agodwarflint: Fix C-interface to abbrev table
Petr Machata [Mon, 9 Nov 2009 07:48:24 +0000 (08:48 +0100)] 
dwarflint: Fix C-interface to abbrev table

14 years agodwarflint: Typo
Petr Machata [Mon, 9 Nov 2009 07:17:24 +0000 (08:17 +0100)] 
dwarflint: Typo

14 years agodwarflint: Coding style
Petr Machata [Mon, 9 Nov 2009 07:15:49 +0000 (08:15 +0100)] 
dwarflint: Coding style

14 years agodwarflint: Add pri::tag
Petr Machata [Mon, 9 Nov 2009 07:15:26 +0000 (08:15 +0100)] 
dwarflint: Add pri::tag

14 years agodwarflint: Improve code for a couple more messages
Petr Machata [Wed, 4 Nov 2009 14:25:08 +0000 (15:25 +0100)] 
dwarflint: Improve code for a couple more messages

14 years agodwarflint: Fix some error messages
Petr Machata [Wed, 4 Nov 2009 14:11:40 +0000 (15:11 +0100)] 
dwarflint: Fix some error messages

14 years agodwarflint: Use pri::hex where possible
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

14 years agodwarflint: More consolidation of message formatting code
Petr Machata [Wed, 4 Nov 2009 13:42:29 +0000 (14:42 +0100)] 
dwarflint: More consolidation of message formatting code

14 years agodwarflint: A nit.
Petr Machata [Tue, 27 Oct 2009 15:41:32 +0000 (16:41 +0100)] 
dwarflint: A nit.

14 years agodwarflint: Check for dup attribs between DIE and its DW_AT_abstract_origin
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

14 years agodwarflint: Coding style
Petr Machata [Tue, 27 Oct 2009 13:37:53 +0000 (14:37 +0100)] 
dwarflint: Coding style

14 years agodwarflint: Add DIE tree flattening iterator
Petr Machata [Tue, 27 Oct 2009 13:11:30 +0000 (14:11 +0100)] 
dwarflint: Add DIE tree flattening iterator

14 years agodwarflint: Avoid repeating once failed tests
Petr Machata [Mon, 26 Oct 2009 14:44:46 +0000 (15:44 +0100)] 
dwarflint: Avoid repeating once failed tests

14 years agodwarflint: Move some code around
Petr Machata [Mon, 26 Oct 2009 13:29:22 +0000 (14:29 +0100)] 
dwarflint: Move some code around

14 years agodwarflint: Rename main.hh to dwarflint.hh
Petr Machata [Mon, 26 Oct 2009 13:20:50 +0000 (14:20 +0100)] 
dwarflint: Rename main.hh to dwarflint.hh

14 years agodwarflint: Better support for emitting messages from C++
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

14 years agodwarflint: .debug_line logic in file of its own
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

14 years agodwarflint: Extract .debug_abbrev check
Petr Machata [Thu, 22 Oct 2009 15:30:11 +0000 (17:30 +0200)] 
dwarflint: Extract .debug_abbrev check

14 years agodwarflint: check_debug_info not a strong prerequisite of check_debug_aranges
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

14 years agodwarflint: Move ref_record to addr-record.h/.cc
Petr Machata [Wed, 21 Oct 2009 21:39:09 +0000 (23:39 +0200)] 
dwarflint: Move ref_record to addr-record.h/.cc

14 years agodwarflint: Move .debug_line checks to new infrastructure
Petr Machata [Wed, 21 Oct 2009 19:28:49 +0000 (21:28 +0200)] 
dwarflint: Move .debug_line checks to new infrastructure

14 years agodwarflint: Move addr_record stuff to file of its own
Petr Machata [Wed, 21 Oct 2009 19:28:12 +0000 (21:28 +0200)] 
dwarflint: Move addr_record stuff to file of its own

14 years agodwarflint: Move to separate directory
Petr Machata [Wed, 21 Oct 2009 16:54:44 +0000 (18:54 +0200)] 
dwarflint: Move to separate directory

14 years agodwarflint: Move more checks to the new dependency infrastructure
Petr Machata [Tue, 20 Oct 2009 15:54:40 +0000 (17:54 +0200)] 
dwarflint: Move more checks to the new dependency infrastructure

14 years agodwarflint: Move more checks to the new dependency infrastructure
Petr Machata [Tue, 20 Oct 2009 15:23:36 +0000 (17:23 +0200)] 
dwarflint: Move more checks to the new dependency infrastructure

14 years agodwarflint: Move more checks to the new dependency infrastructure
Petr Machata [Tue, 20 Oct 2009 14:02:14 +0000 (16:02 +0200)] 
dwarflint: Move more checks to the new dependency infrastructure

14 years agodwarflint: More restructuring of checks
Petr Machata [Fri, 16 Oct 2009 14:18:43 +0000 (16:18 +0200)] 
dwarflint: More restructuring of checks

14 years agodwarflint: Rename dwarflint.* to dwarflint-low.*
Petr Machata [Fri, 16 Oct 2009 11:17:45 +0000 (13:17 +0200)] 
dwarflint: Rename dwarflint.* to dwarflint-low.*

14 years agodwarflint: Rewrite testing for better extensibility
Petr Machata [Thu, 15 Oct 2009 17:21:47 +0000 (19:21 +0200)] 
dwarflint: Rewrite testing for better extensibility

* all tests are actually still done the way they were, but the framework
  is in place

14 years agodwarflint: More moving code around
Petr Machata [Thu, 8 Oct 2009 18:18:10 +0000 (20:18 +0200)] 
dwarflint: More moving code around

14 years agodwarflint: Dissect dwarflint.c to modules
Petr Machata [Thu, 8 Oct 2009 18:00:15 +0000 (20:00 +0200)] 
dwarflint: Dissect dwarflint.c to modules

14 years agodwarflint: Improve wording, drop dead code
Petr Machata [Wed, 7 Oct 2009 13:59:59 +0000 (15:59 +0200)] 
dwarflint: Improve wording, drop dead code

14 years agodwarflint: Use common code for C and C++ range_fmt
Petr Machata [Wed, 7 Oct 2009 13:59:38 +0000 (15:59 +0200)] 
dwarflint: Use common code for C and C++ range_fmt

* Also move it to coverage code so that coverage formatting can take
  advantage of it.

14 years agodwarflint: Add test for ranges running off the scope
Petr Machata [Tue, 6 Oct 2009 16:23:44 +0000 (18:23 +0200)] 
dwarflint: Add test for ranges running off the scope

14 years agodwarflint: Drop compilation-breaking stub
Petr Machata [Mon, 5 Oct 2009 19:50:35 +0000 (21:50 +0200)] 
dwarflint: Drop compilation-breaking stub

14 years agodwarflint: C++ify coverage analysis
Petr Machata [Mon, 5 Oct 2009 19:34:45 +0000 (21:34 +0200)] 
dwarflint: C++ify coverage analysis

* only the implementation so far, we need the interface intact until
  dwarflint low-level is in C

14 years agodwarflint: Make pointers const/restrict where possible in coverage analysis
Petr Machata [Mon, 5 Oct 2009 16:55:14 +0000 (18:55 +0200)] 
dwarflint: Make pointers const/restrict where possible in coverage analysis

14 years agodwarflint: coverage analysis header file bijou
Petr Machata [Mon, 5 Oct 2009 16:11:48 +0000 (18:11 +0200)] 
dwarflint: coverage analysis header file bijou

14 years agodwarflint: Add/adjust copyright notices
Petr Machata [Mon, 5 Oct 2009 16:09:48 +0000 (18:09 +0200)] 
dwarflint: Add/adjust copyright notices

14 years agodwarflint: simplify macros in get_location_opcode_operands
Petr Machata [Sun, 4 Oct 2009 18:36:38 +0000 (20:36 +0200)] 
dwarflint: simplify macros in get_location_opcode_operands

14 years agoexpr_opcodes.h will hold more general information about opcodes
Petr Machata [Tue, 8 Sep 2009 11:03:06 +0000 (13:03 +0200)] 
expr_opcodes.h will hold more general information about opcodes

14 years agodwarflint: Move some code around
Petr Machata [Sun, 4 Oct 2009 18:36:09 +0000 (20:36 +0200)] 
dwarflint: Move some code around

14 years agodwarflint: minor coding style nit
Petr Machata [Wed, 23 Sep 2009 20:28:06 +0000 (22:28 +0200)] 
dwarflint: minor coding style nit

14 years agodwarflint: Used wrong formatter for DW_LNS_ opcodes
Petr Machata [Wed, 9 Sep 2009 13:40:23 +0000 (15:40 +0200)] 
dwarflint: Used wrong formatter for DW_LNS_ opcodes

* add the right formatter to dwarfstrings.[ch]

14 years agodwarflint: Always emit error about missing DW_LNE_end_sequence
Petr Machata [Tue, 8 Sep 2009 15:44:42 +0000 (17:44 +0200)] 
dwarflint: Always emit error about missing DW_LNE_end_sequence

* ... even if there were no opcodes, because the no-opcodes message can
  be filtered out.

14 years agodwarflint: Check address_size against bit-ness of ELF
Petr Machata [Tue, 8 Sep 2009 12:15:26 +0000 (14:15 +0200)] 
dwarflint: Check address_size against bit-ness of ELF

* and extract the address-size reading and checking code into one function
* and drop the check that all CUs have the same address size, now that
  we check everything against bit-ness of ELF, we don't need it anymore.

14 years agodwarflint: Fix wording of sibling mismatch error message
Petr Machata [Wed, 2 Sep 2009 15:07:25 +0000 (17:07 +0200)] 
dwarflint: Fix wording of sibling mismatch error message

14 years agodwarflint: Support --dump-offsets
Petr Machata [Wed, 2 Sep 2009 14:27:22 +0000 (16:27 +0200)] 
dwarflint: Support --dump-offsets

... I use it so much that it's probably worth it to have it in the repo,
instead of hacking it in ad-hoc each time I need it.

14 years agodwarflint: Output sibling mismatch with offset of the right DIE
Petr Machata [Wed, 2 Sep 2009 14:26:07 +0000 (16:26 +0200)] 
dwarflint: Output sibling mismatch with offset of the right DIE

14 years agodwarflint: Support DW_FORM_flag_present
Petr Machata [Wed, 19 Aug 2009 18:25:54 +0000 (20:25 +0200)] 
dwarflint: Support DW_FORM_flag_present

14 years agodwarflint: Reorganize data structures
Petr Machata [Wed, 19 Aug 2009 13:47:15 +0000 (15:47 +0200)] 
dwarflint: Reorganize data structures

* ... to elimiate holes where possible
* and get rid of dwarf_64/addr_64, use offset_size/address_size instead
* also DW_FORM_ref_addr now has address_size in dwarf 2

14 years agodwarflint: Allow DW_FORM_sec_offset as a form in rangeptr and lineptr
Petr Machata [Wed, 19 Aug 2009 11:36:50 +0000 (13:36 +0200)] 
dwarflint: Allow DW_FORM_sec_offset as a form in rangeptr and lineptr

14 years agodwarflint: Consolidate checking and relocation of attribute values
Petr Machata [Tue, 18 Aug 2009 18:32:26 +0000 (20:32 +0200)] 
dwarflint: Consolidate checking and relocation of attribute values

* This was done to add DW_FORM_sec_offset, but the structure of the code
  wasn't such that would make this addition easy.  The revamp ended up
  being quite extensive, and I never got around to checking whether the
  support for the new form really works.
* Checked on all elfutils ELF files that old and new dwarflint emit the
  same messages.