Opcodes 1.3.1 → 1.3.2

Sign up to get free protection for your applications and to get access to all the features.
data/ChangeLog CHANGED
@@ -1,3 +1,5 @@
1
+ 2013-03-04 : mkfs <mkfs@thoughtgang.org>
2
+ * Fixed build errors
1
3
  2013-03-03 : mkfs <mkfs@thoughtgang.org>
2
4
  * Updated rakefile to handle new tasks
3
5
  2010-08-16 : mkfs <mkfs@thoughtgang.org>
@@ -17,6 +17,8 @@ static int generic_print_address_wrapper(bfd_vma vma, disassemble_info *info ) {
17
17
  static const Opcodes_disasm_def disasm_definitions[] = {
18
18
  /* Goddamn GNU. They make it near-impossible to get a list of supported
19
19
  * architectures at build OR run time. */
20
+ // this got broken again.
21
+ #if 0
20
22
  #ifdef ARCH_ALPHA
21
23
  {"alpha", bfd_arch_alpha, bfd_mach_alpha_ev4, print_insn_alpha},
22
24
  {"alphaev4", bfd_arch_alpha, bfd_mach_alpha_ev4,
@@ -27,7 +29,7 @@ static const Opcodes_disasm_def disasm_definitions[] = {
27
29
  print_insn_alpha},
28
30
  #endif
29
31
  #ifdef ARCH_ARM
30
- {"big_arm", bfd_arch_arm, bfd_mach_arm_umknown,
32
+ {"big_arm", bfd_arch_arm, bfd_mach_arm_unknown,
31
33
  print_insn_big_arm},
32
34
  {"little_arm", bfd_arch_arm, bfd_mach_arm_unknown,
33
35
  print_insn_little_arm},
@@ -103,6 +105,7 @@ static const Opcodes_disasm_def disasm_definitions[] = {
103
105
  #ifdef ARCH_I370
104
106
  {"i370", bfd_arch_i370, 0, print_insn_i370},
105
107
  #endif
108
+ #endif
106
109
  #ifdef ARCH_I386
107
110
  {"8086", bfd_arch_i386, bfd_mach_i386_i8086, print_insn_i386},
108
111
  {"x86", bfd_arch_i386, bfd_mach_i386_i386, print_insn_i386},
@@ -115,6 +118,8 @@ static const Opcodes_disasm_def disasm_definitions[] = {
115
118
  {"x86_64_intel", bfd_arch_i386, bfd_mach_x86_64_intel_syntax,
116
119
  print_insn_i386},
117
120
  #endif
121
+ // ditto
122
+ #if 0
118
123
  #ifdef ARCH_i860
119
124
  {"i860", bfd_arch_i860, 0, print_insn_i860},
120
125
  #endif
@@ -316,6 +321,7 @@ static const Opcodes_disasm_def disasm_definitions[] = {
316
321
  {"z8001", bfd_arch_z8k, bfd_mach_z8001, print_insn_z8001},
317
322
  {"z8002", bfd_arch_z8k, bfd_mach_z8002, print_insn_z8002},
318
323
  #endif
324
+ #endif
319
325
  /* NULL entry to ensure table ends up ok */
320
326
  {"INVALID", bfd_arch_unknown, 0, generic_print_address_wrapper}
321
327
  };
@@ -95,7 +95,6 @@ static void get_available_disassemblers( VALUE * ary ) {
95
95
  static const char * insn_type_to_str( enum dis_insn_type t ) {
96
96
  const char *s;
97
97
  switch (t) {
98
- case dis_noninsn: s = "Invalid"; break;
99
98
  case dis_nonbranch: s = "Not branch"; break;
100
99
  case dis_branch: s = "Unconditional branch"; break;
101
100
  case dis_condbranch: s = "Conditional branch"; break;
@@ -103,6 +102,8 @@ static const char * insn_type_to_str( enum dis_insn_type t ) {
103
102
  case dis_condjsr: s = "Conditional jump to subroutine"; break;
104
103
  case dis_dref: s = "Data reference"; break;
105
104
  case dis_dref2: s = "Two data references"; break;
105
+ case dis_noninsn:
106
+ default: s = "Invalid";
106
107
  }
107
108
  return s;
108
109
  }
@@ -219,7 +220,7 @@ static void config_libopcodes_for_target( struct disassemble_info * info,
219
220
 
220
221
  if (! sym.value || (sym.value > sec->vma + sec->size ) ) {
221
222
  rb_raise(rb_eRuntimeError, "Invalid symbol value 0x%X",
222
- ((unsigned long) sym.value));
223
+ ((unsigned int) sym.value));
223
224
  }
224
225
 
225
226
  vma_off = sym.value - sec->vma;
@@ -256,7 +257,7 @@ static void load_target( VALUE tgt, struct disasm_target * dest ) {
256
257
 
257
258
  } else if ( Qtrue == rb_obj_is_kind_of( tgt, rb_cArray) ) {
258
259
  /* array of bytes */
259
- int i;
260
+ unsigned int i;
260
261
  dest->buf_len = RARRAY_LEN(tgt);
261
262
  dest->buf = calloc(dest->buf_len, 1);
262
263
  for( i=0; i < dest->buf_len; i++ ) {
@@ -312,7 +313,6 @@ static void unload_target( struct disasm_target * tgt ) {
312
313
  static void disasm_init( struct disassemble_info * info,
313
314
  struct disasm_target * target, bfd_vma * vma,
314
315
  VALUE class, VALUE tgt, VALUE hash ) {
315
- const char *opts;
316
316
  bfd_vma vma_arg;
317
317
  VALUE var;
318
318
 
@@ -543,7 +543,7 @@ class TC_OpcodesModuleBfd < Test::Unit::TestCase
543
543
  def test_buffer
544
544
 
545
545
  Bfd::Target.from_buffer( TARGET_BUF ) do |tgt|
546
- dis = Opcodes::Disassembler.new( :bfd => tgt ) do |dis|
546
+ Opcodes::Disassembler.new( :bfd => tgt ) do |dis|
547
547
  ops = dis.disasm( tgt.sections['.text'] )
548
548
  assert_equal( 145, ops.length )
549
549
  assert_equal( 'xor', ops.first[:insn][0].strip )
metadata CHANGED
@@ -1,35 +1,25 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: Opcodes
3
- version: !ruby/object:Gem::Version
4
- hash: 25
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.3.2
5
5
  prerelease:
6
- segments:
7
- - 1
8
- - 3
9
- - 1
10
- version: 1.3.1
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - TG Community
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2013-03-03 00:00:00 Z
12
+ date: 2013-03-05 00:00:00.000000000 Z
19
13
  dependencies: []
20
-
21
- description: |-
22
- Libopcodes is the disassembler library used by
23
- GNU binutils. This extension provides access to libopcodes for Ruby
24
- IO and BFD objects.
14
+ description: ! "Libopcodes is the disassembler library used by\n GNU binutils. This
15
+ extension provides access to libopcodes for Ruby\n IO and BFD objects."
25
16
  email: community@thoughtgang.org
26
17
  executables: []
27
-
28
- extensions:
18
+ extensions:
29
19
  - module/extconf.rb
30
- extra_rdoc_files:
20
+ extra_rdoc_files:
31
21
  - module/rdoc_input/Opcodes.rb
32
- files:
22
+ files:
33
23
  - module/Opcodes.c
34
24
  - module/Arch.c
35
25
  - module/ruby_compat.c
@@ -50,40 +40,31 @@ files:
50
40
  - module/rdoc_input/Opcodes.rb
51
41
  - module/extconf.rb
52
42
  homepage: http://rubyforge.org/projects/opdis/
53
- licenses:
43
+ licenses:
54
44
  - GPLv3
55
45
  post_install_message:
56
46
  rdoc_options: []
57
-
58
- require_paths:
47
+ require_paths:
59
48
  - lib
60
- required_ruby_version: !ruby/object:Gem::Requirement
49
+ required_ruby_version: !ruby/object:Gem::Requirement
61
50
  none: false
62
- requirements:
63
- - - ">="
64
- - !ruby/object:Gem::Version
65
- hash: 57
66
- segments:
67
- - 1
68
- - 8
69
- - 7
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
70
54
  version: 1.8.7
71
- required_rubygems_version: !ruby/object:Gem::Requirement
55
+ required_rubygems_version: !ruby/object:Gem::Requirement
72
56
  none: false
73
- requirements:
74
- - - ">="
75
- - !ruby/object:Gem::Version
76
- hash: 3
77
- segments:
78
- - 0
79
- version: "0"
80
- requirements:
57
+ requirements:
58
+ - - ! '>='
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ requirements:
81
62
  - GNU binutils library and headers
82
63
  rubyforge_project: opdis
83
- rubygems_version: 1.8.11
64
+ rubygems_version: 1.8.10
84
65
  signing_key:
85
66
  specification_version: 3
86
67
  summary: Ruby extension library providing an API to GNU libopcodes
87
- test_files:
68
+ test_files:
88
69
  - tests/ut_opcodes.rb
89
70
  - tests/ut_opcodes_bfd.rb