mirror of
https://github.com/qemu/qemu.git
synced 2025-10-24 02:20:01 +00:00
Emit comments with shortened file names (previous commit). Limit search to the input file's directory. Cope with properties tcg (commitb2b36c22bd) and vcpu (commit3d211d9f4d). Cope with capital letters in function names. Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-id: 20190314180929.27722-4-armbru@redhat.com Message-Id: <20190314180929.27722-4-armbru@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
61 lines
1.4 KiB
Perl
Executable File
61 lines
1.4 KiB
Perl
Executable File
#!/usr/bin/env perl
|
|
# Copyright (C) 2013 Red Hat, Inc.
|
|
#
|
|
# Authors:
|
|
# Markus Armbruster <armbru@redhat.com>
|
|
#
|
|
# This work is licensed under the terms of the GNU GPL, version 2 or
|
|
# later. See the COPYING file in the top-level directory.
|
|
|
|
# Usage: cleanup-trace-events.pl trace-events
|
|
#
|
|
# Print cleaned up trace-events to standard output.
|
|
|
|
use warnings;
|
|
use strict;
|
|
use File::Basename;
|
|
|
|
my $buf = '';
|
|
my %seen = ();
|
|
|
|
sub out {
|
|
print $buf;
|
|
$buf = '';
|
|
%seen = ();
|
|
}
|
|
|
|
$#ARGV == 0 or die "usage: $0 FILE";
|
|
my $in = $ARGV[0];
|
|
my $dir = dirname($in);
|
|
open(IN, $in) or die "open $in: $!";
|
|
chdir($dir) or die "chdir $dir: $!";
|
|
|
|
while (<IN>) {
|
|
if (/^(disable |(tcg) |vcpu )*([a-z_0-9]+)\(/i) {
|
|
my $pat = "trace_$3";
|
|
$pat .= '_tcg' if (defined $2);
|
|
open GREP, '-|', 'git', 'grep', '-lw', '--max-depth', '1', $pat
|
|
or die "run git grep: $!";
|
|
while (my $fname = <GREP>) {
|
|
chomp $fname;
|
|
next if $seen{$fname} || $fname eq 'trace-events';
|
|
$seen{$fname} = 1;
|
|
$buf = "# $fname\n" . $buf;
|
|
}
|
|
unless (close GREP) {
|
|
die "close git grep: $!"
|
|
if $!;
|
|
next;
|
|
}
|
|
} elsif (/^# ([^ ]*\.[ch])$/) {
|
|
out;
|
|
next;
|
|
} elsif (!/^#|^$/) {
|
|
warn "unintelligible line";
|
|
}
|
|
$buf .= $_;
|
|
}
|
|
|
|
out;
|
|
close(IN) or die "close $in: $!";
|