summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2020-12-27 14:05:24 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2020-12-27 15:50:44 +0900
commit366b58d7ca19914d533a0bef51e51995e7876da7 (patch)
treebb8ef18e6a9349833ceea5f3325c0a8cf95f7731
parent0957814c2776a78e509ceb0aa3fe958d3dc65b2f (diff)
Ignore objects from the "missing" directory
-rwxr-xr-xtool/leaked-globals9
1 files changed, 8 insertions, 1 deletions
diff --git a/tool/leaked-globals b/tool/leaked-globals
index 49791559fc..0d8c3c4195 100755
--- a/tool/leaked-globals
+++ b/tool/leaked-globals
@@ -18,8 +18,15 @@ count = 0
col = Colorize.new
config_code = File.read(config)
REPLACE = config_code.scan(/\bAC_(?:REPLACE|CHECK)_FUNCS?\((\w+)/).flatten
-REPLACE << 'memcmp' if /\bAC_FUNC_MEMCMP\b/ =~ config_code
+# REPLACE << 'memcmp' if /\bAC_FUNC_MEMCMP\b/ =~ config_code
REPLACE.push('main', 'DllMain')
+missing = File.dirname(config) + "/missing/"
+ARGV.reject! do |n|
+ unless (src = Dir.glob(missing + File.basename(n, ".*") + ".[cS]")).empty?
+ puts "Ignore #{n} because of #{src.map {|s| File.basename(s)}.join(', ')} under missing"
+ true
+ end
+end
print "Checking leaked global symbols..."
STDOUT.flush
IO.foreach("|#{NM} -Pgp #{ARGV.join(' ')}") do |line|