#!/usr/bin/perl

$MODULE_GOO_LIST="irq_stat netif_rx register_sysctl_table send_sig kmalloc __kfree_skb __ip_select_ident alloc_skb icmp_send ip_fragment sock_register ";

@goo = split(/\s+/,$MODULE_GOO_LIST);

$sep="(";
$goore=" ";

#print "GOO: ",join('|',@goo),"\n";

foreach $sym (@goo) {
	$goore=${goore}.${sep}.${sym};
	$sep="|";
}
$goore=${goore}.")_R(smp_){0,1}([0-9A-F]{8})";

#print "GOORE: $goore\n";

while(<>) {
  chomp;
  if(/$goore/io) {
    $sym=$1;
    $goosym=$3;
    $bingoo=hex($goosym);
    if($2 eq "smp_") {
      $bingoo++;
    }
    #print STDERR "Processing $goosym (from $_)\n";
    $bingoo{$sym}=$bingoo;
  }
}
$wholegoo=0;
foreach $sym (keys %bingoo) {
  $wholegoo=$wholegoo ^ $bingoo{$sym};
}
print sprintf("%08x", $wholegoo)."\n";

# Local variables::
# mode: perl
# End variables::


