diff options
Diffstat (limited to 'bcc32/mkexports.rb')
-rw-r--r-- | bcc32/mkexports.rb | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/bcc32/mkexports.rb b/bcc32/mkexports.rb index e34b441e2f..d24efe4da4 100644 --- a/bcc32/mkexports.rb +++ b/bcc32/mkexports.rb @@ -5,7 +5,7 @@ STDIN.reopen(open("nul")) ARGV.each do |obj| IO.foreach("|tdump -q -oiPUBDEF -oiPUBD32 #{obj.tr('/', '\\')}") do |l| next unless /(?:PUBDEF|PUBD32)/ =~ l - SYM[$1] = true if /'(.*?)'/ =~ l + SYM[$1] = !$2 if /'(.*?)'\s+Segment:\s+_(TEXT)?/ =~ l end end @@ -16,7 +16,10 @@ elsif $library exports << "Library " + $library end exports << "Description " + $description.dump if $description -exports << "EXPORTS" << SYM.keys.sort +exports << "EXPORTS" +SYM.sort.each do |sym, is_data| + exports << (is_data ? "#{sym} DATA" : sym) +end if $output open($output, 'w') {|f| f.puts exports.join("\n")} |