mirror of
				https://github.com/qemu/qemu.git
				synced 2025-10-30 19:15:42 +00:00 
			
		
		
		
	 f7dc89c35d
			
		
	
	
		f7dc89c35d
		
	
	
	
	
		
			
			Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-id: 20200806141334.3646302-3-armbru@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
		
			
				
	
	
		
			66 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			1.5 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 @files = ();
 | |
| my $events = '';
 | |
| my %seen = ();
 | |
| 
 | |
| sub out {
 | |
|     print sort @files;
 | |
|     print $events;
 | |
|     @files = ();
 | |
|     $events = '';
 | |
|     %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_$4";
 | |
|         $pat .= '_tcg' if defined $2;
 | |
|         open GREP, '-|', 'git', 'grep', '-lw',
 | |
| 	    defined $3 ? () : ('--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;
 | |
|             push @files, "# $fname\n";
 | |
|         }
 | |
|         unless (close GREP) {
 | |
|             die "close git grep: $!"
 | |
|                 if $!;
 | |
|             next;
 | |
|         }
 | |
|     } elsif (/^# ([^ ]*\.[ch])$/) {
 | |
|         out;
 | |
|         next;
 | |
|     } elsif (!/^#|^$/) {
 | |
|         warn "unintelligible line";
 | |
|     }
 | |
|     $events .= $_;
 | |
| }
 | |
| 
 | |
| out;
 | |
| close(IN) or die "close $in: $!";
 |