There are many others that can be identified by running the attached script after you build your git. I'll follow this message up with three consolidated patches, but the latter two needs to be split into smaller pieces to be either queued on top (for topics in next) or squashed into (for topics in pu), which I am not going to do myself today (hint, hint). #!/usr/bin/perl -w my %defd = (); my %used = (); my %def_ok = map { $_ => 1 } qw( main alloc_report have_git_dir prepare_git_cmd print_string_list tm_to_time_t unsorted_string_list_has_string xdl_atol xdl_cha_first xdl_cha_next xdl_mmfile_size xdl_num_out xdl_recs_cmp ); for (<*.o>, <*/*.o>, <*/*/*.o>) { my $obj = $_; open(I, "-|", qw(nm -g), $obj) or die; while (<I>) { unless (/^[0-9a-f ]+([A-Z]) (\S*)$/) { print STDERR "? $_"; next; } if (($1 eq "U") || $1 eq "C") { $used{$2}++; } else { push @{$defd{$obj}}, $2; } } close I; } for my $obj (sort keys %defd) { my $syms = $defd{$obj}; for my $sym (@$syms) { next if exists $used{$sym} or exists $def_ok{$sym}; print "$obj - $sym\n"; } } -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html