dwarftree 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
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