dwarftree 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 339962d5becf74260deff4f5d9f3fc2fed5d1389d3679ed8a66664f943fa9de6
4
- data.tar.gz: 49c7cbcec525381352ae0719783881ccc7c5d0feecc1b4c1434efe63a07ea0db
3
+ metadata.gz: 00616d8f21e3938bed05a970ba994f9fd87bad873d15853cf4b143b499079701
4
+ data.tar.gz: b5b4cd869d9276d849c93cb047eb02e2af66985e9b90efba5b1cc301329242f7
5
5
  SHA512:
6
- metadata.gz: e91b42ca61a80457ce32a507648e59d613da82c68ef22d6fbfab6c27774683fab7ccda9e2a828ca9c35a4d801930755f2eda2996d8bdb54b5964f6efb40909be
7
- data.tar.gz: 5dd61e670ae81c408b6fa3fb12d829d0226658e5625d9e471e171c4837ef9f4111342357af1917a8176266a0eaba96685d6511f42e908767af36b475f5be46bd
6
+ metadata.gz: 83d1ee9565830bb3d412d8329dcff726b8da62882fc5b5c46fcb3632d199296f06ee7d9d98972ca730ee9469a286a6bafcc43de925bbd8736a569660939c13ff
7
+ data.tar.gz: e406931e977a2e1f023f20ffb42be6120c73965d1f6425b7bdec9e7d3d44bd26cbf57ecf63e1629128b539d03f7d06c31e600037422476eb3bf7549096c759a9
@@ -1,3 +1,7 @@
1
+ ## v0.1.4
2
+
3
+ * Support newer DWARF for Ubuntu 20.04
4
+
1
5
  ## v0.1.3
2
6
 
3
7
  * Show `abstract_origin` in subprogram
@@ -125,7 +125,7 @@ class Dwarftree::DebugInfoParser
125
125
 
126
126
  def resolve_references(die)
127
127
  if die.respond_to?(:ranges) && die[:ranges]
128
- die.ranges = @offset_ranges.fetch(die[:ranges].to_i(16))
128
+ die.ranges = @offset_ranges[die[:ranges].to_i(16)]
129
129
  end
130
130
  if die.respond_to?(:abstract_origin) && die[:abstract_origin]
131
131
  offset = die[:abstract_origin].match(/\A<0x(?<offset>\h+)>\z/)[:offset]
@@ -31,8 +31,12 @@ module Dwarftree::DIE
31
31
  # Not in members to avoid a conflict with DIE attributes
32
32
  attr_accessor :type, :level, :children, :merged
33
33
 
34
- def initialize(**)
34
+ def initialize(**kwargs)
35
+ begin
35
36
  super
37
+ rescue => e
38
+ binding.irb
39
+ end
36
40
  self.children = []
37
41
  self.merged = []
38
42
  end
@@ -5,5 +5,6 @@ Dwarftree::DIE::EnumerationType = Dwarftree::DIE.new(
5
5
  :type,
6
6
  :decl_file,
7
7
  :decl_line,
8
+ :decl_column,
8
9
  :sibling,
9
10
  )
@@ -2,10 +2,12 @@ Dwarftree::DIE::FormalParameter = Dwarftree::DIE.new(
2
2
  :name,
3
3
  :decl_file,
4
4
  :decl_line,
5
+ :decl_column,
5
6
  :type,
6
7
  :location,
7
8
  :abstract_origin,
8
9
  :const_value,
10
+ :GNU_locviews,
9
11
  ) do
10
12
  def abstract_origin
11
13
  self[:abstract_origin]&.name
@@ -4,9 +4,11 @@ Dwarftree::DIE::InlinedSubroutine = Dwarftree::DIE.new(
4
4
  :ranges,
5
5
  :call_file,
6
6
  :call_line,
7
+ :call_column,
7
8
  :sibling,
8
9
  :low_pc,
9
10
  :high_pc,
11
+ :GNU_entry_view,
10
12
  ) do
11
13
  self.attributes = [:abstract_origin]
12
14
 
@@ -2,6 +2,7 @@ Dwarftree::DIE::Label = Dwarftree::DIE.new(
2
2
  :name,
3
3
  :decl_file,
4
4
  :decl_line,
5
+ :decl_column,
5
6
  :low_pc,
6
7
  :abstract_origin,
7
8
  ) do
@@ -2,6 +2,7 @@ Dwarftree::DIE::Member = Dwarftree::DIE.new(
2
2
  :name,
3
3
  :decl_file,
4
4
  :decl_line,
5
+ :decl_column,
5
6
  :type,
6
7
  :byte_size,
7
8
  :bit_size,
@@ -3,6 +3,7 @@ Dwarftree::DIE::StructureType = Dwarftree::DIE.new(
3
3
  :byte_size,
4
4
  :decl_file,
5
5
  :decl_line,
6
+ :decl_column,
6
7
  :sibling,
7
8
  :declaration,
8
9
  )
@@ -3,10 +3,12 @@ Dwarftree::DIE::Subprogram = Dwarftree::DIE.new(
3
3
  :name,
4
4
  :decl_file,
5
5
  :decl_line,
6
+ :decl_column,
6
7
  :prototyped,
7
8
  :type,
8
9
  :low_pc,
9
10
  :high_pc,
11
+ :ranges,
10
12
  :frame_base,
11
13
  :declaration,
12
14
  :inline,
@@ -2,5 +2,6 @@ Dwarftree::DIE::Typedef = Dwarftree::DIE.new(
2
2
  :name,
3
3
  :decl_file,
4
4
  :decl_line,
5
+ :decl_column,
5
6
  :type,
6
7
  )
@@ -2,6 +2,7 @@ Dwarftree::DIE::UnionType = Dwarftree::DIE.new(
2
2
  :byte_size,
3
3
  :decl_file,
4
4
  :decl_line,
5
+ :decl_column,
5
6
  :sibling,
6
7
  :name,
7
8
  )
@@ -2,6 +2,7 @@ Dwarftree::DIE::Variable = Dwarftree::DIE.new(
2
2
  :name,
3
3
  :decl_file,
4
4
  :decl_line,
5
+ :decl_column,
5
6
  :type,
6
7
  :external,
7
8
  :declaration,
@@ -10,6 +11,7 @@ Dwarftree::DIE::Variable = Dwarftree::DIE.new(
10
11
  :artificial,
11
12
  :abstract_origin,
12
13
  :specification,
14
+ :GNU_locviews,
13
15
  ) do
14
16
  def abstract_origin
15
17
  self[:abstract_origin]&.name
@@ -1,3 +1,3 @@
1
1
  module Dwarftree
2
- VERSION = '0.1.3'
2
+ VERSION = '0.1.4'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dwarftree
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takashi Kokubun
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-05-13 00:00:00.000000000 Z
11
+ date: 2020-12-19 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A wrapper of `objdump --dwarf=info` to visualize a structure of inlined
14
14
  subroutines
@@ -81,7 +81,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  requirements: []
84
- rubygems_version: 3.2.0.pre1
84
+ rubygems_version: 3.1.4
85
85
  signing_key:
86
86
  specification_version: 4
87
87
  summary: A wrapper of `objdump --dwarf=info` to visualize a structure of inlined subroutines