Revision 974d3a2d65a1a38f1014aa132a556a8e64c12a21 authored by Daniel Fort on 13 September 2017, 03:06:11 UTC, committed by Daniel Fort on 13 September 2017, 03:06:11 UTC
1 parent 822e142
generate_stub.rb
#!/usr/bin/env ruby
if ARGV.length < 1 then
puts "Usage #{__FILE__} [map file]"
exit 1
end
stubs = {}
first = nil
File.open(ARGV[0],"rb") do |file|
file.each_line do |line|
if line.strip =~ /\A(.*)0x00000000([0-9a-z]{8}) .*?([A-Za-z_]+)\.?o?\)?\Z/ then
initial = $1
loc = $2.to_i(16)
name = $3
if initial !~ /debug/ and !name.strip.empty? then
stubs[name] = loc
first = loc if first.nil? and loc>0
end
end
end
end
# header
puts <<HEADER
#include <stub.h>
.text
HEADER
stubs.sort.each do |v,k|
puts "NSTUB( 0x#{k.to_s(16)}, #{v} )" if k>first
end
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...