* analyze_sigfe: New script.
* dllfixdbg: Add copyright. * gendef: Ditto. * gendevices: Ditto. * gentls_offsets: Ditto.
This commit is contained in:
parent
3b1f276fca
commit
ee93375872
|
@ -1,3 +1,11 @@
|
|||
2006-03-01 Christopher Faylor <cgf@timesys.com>
|
||||
|
||||
* analyze_sigfe: New script.
|
||||
* dllfixdbg: Add copyright.
|
||||
* gendef: Ditto.
|
||||
* gendevices: Ditto.
|
||||
* gentls_offsets: Ditto.
|
||||
|
||||
2006-03-01 Christopher Faylor <cgf@timesys.com>
|
||||
|
||||
* cygthread.cc (cygthread::callfunc): Create ev as an auto-reset event
|
||||
|
|
|
@ -0,0 +1,80 @@
|
|||
#!/usr/bin/perl -s
|
||||
# Copyright 2006 Red Hat, Inc.
|
||||
#
|
||||
# This file is part of Cygwin.
|
||||
#
|
||||
# This software is a copyrighted work licensed under the terms of the
|
||||
# Cygwin license. Please consult the file "CYGWIN_LICENSE" for
|
||||
# details.
|
||||
|
||||
# This will do a crude test to see if the (NO)?SIGFE stuff is used properly
|
||||
# in cygwin.din. It is not perfect so do not use it to do a wholesale replacement.
|
||||
#
|
||||
# Input is the output of 'objdump --disassemble --demangle cygwin0.dll'.
|
||||
#
|
||||
use strict;
|
||||
use vars qw'$v';
|
||||
sub star($);
|
||||
|
||||
my %funcs;
|
||||
my $func = '';
|
||||
|
||||
$| = 1;
|
||||
while (<>) {
|
||||
/^610.....\s+<([^\(>]+).*?:/o and do {
|
||||
$func = $1;
|
||||
$funcs{$func} = {} unless defined $funcs{$func};
|
||||
next;
|
||||
};
|
||||
$func and /call\s+\S+\s+<([^\(>]+)/o and do {
|
||||
my $called = $1;
|
||||
$funcs{$func}{$called} = 1;
|
||||
if ($called =~ /^[A-Z].*@/o || ($called = $funcs{$called}{-uses_kernel})) {
|
||||
$funcs{$func}{-uses_kernel} ||= $called;
|
||||
my @a = ($func);
|
||||
while (my $f = shift @a) {
|
||||
for my $k (keys %funcs) {
|
||||
if ($funcs{$k}{$f} && !$funcs{$k}{-uses_kernel}) {
|
||||
$funcs{$k}{-uses_kernel} = $called;
|
||||
push(@a, $k);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
next;
|
||||
};
|
||||
}
|
||||
|
||||
if ($v) {
|
||||
for my $k (sort keys %funcs) {
|
||||
print star($funcs{$k}), $k, $funcs{$k}{-uses_kernel} ? " ($funcs{$k}{-uses_kernel})\n" : "\n";
|
||||
my $indent = ' ';
|
||||
for (sort keys %{$funcs{$k}}) {
|
||||
next if /^-/o;
|
||||
print $indent, $_, star($funcs{$k});
|
||||
$indent = ' ';
|
||||
}
|
||||
print "\n";
|
||||
}
|
||||
}
|
||||
|
||||
open(DIN, '<', 'cygwin.din') or die "$0: couldn't open cygwin.din - $!\n";
|
||||
while (<DIN>) {
|
||||
my $line = $_;
|
||||
/^LIBRARY\s+/o and next;
|
||||
/^\s*$/ and next;
|
||||
/^EXPORTS/o and next;
|
||||
/ DATA$/o and next;
|
||||
my $sigfe = (/\s+((?:NO)?SIGFE)\s*$/o)[0] !~ /^NO/o;
|
||||
s/\s+((?:NO)?SIGFE)\s*$//o;
|
||||
my $func = (/\s+=\s+(\S+)/o)[0] || (/^\s*(\S+)/o)[0];
|
||||
if (!defined($funcs{$func})) {
|
||||
warn "hmm. couldn't find $func in disassembled output\n";
|
||||
} elsif (!!$funcs{$func}{-uses_kernel} != $sigfe) {
|
||||
warn "mismatch detected: $line";
|
||||
}
|
||||
}
|
||||
|
||||
sub star($) {
|
||||
return $_[0]->{-uses_kernel} ? '*' : '';
|
||||
}
|
|
@ -1,4 +1,12 @@
|
|||
#!/usr/bin/perl
|
||||
# Copyright 2006 Red Hat, Inc.
|
||||
#
|
||||
# This file is part of Cygwin.
|
||||
#
|
||||
# This software is a copyrighted work licensed under the terms of the
|
||||
# Cygwin license. Please consult the file "CYGWIN_LICENSE" for
|
||||
# details.
|
||||
#
|
||||
use integer;
|
||||
use strict;
|
||||
sub xit($@);
|
||||
|
|
|
@ -1,4 +1,12 @@
|
|||
#!/usr/bin/perl
|
||||
# Copyright 2003, 2004, 2005 Red Hat, Inc.
|
||||
#
|
||||
# This file is part of Cygwin.
|
||||
#
|
||||
# This software is a copyrighted work licensed under the terms of the
|
||||
# Cygwin license. Please consult the file "CYGWIN_LICENSE" for
|
||||
# details.
|
||||
#
|
||||
use strict;
|
||||
sub nocr(@);
|
||||
my $in = shift;
|
||||
|
|
|
@ -1,4 +1,12 @@
|
|||
#!/usr/bin/perl
|
||||
# Copyright 2003, 2004, 2005 Red Hat, Inc.
|
||||
#
|
||||
# This file is part of Cygwin.
|
||||
#
|
||||
# This software is a copyrighted work licensed under the terms of the
|
||||
# Cygwin license. Please consult the file "CYGWIN_LICENSE" for
|
||||
# details.
|
||||
#
|
||||
use File::Basename;
|
||||
use Cwd;
|
||||
my $cwd = getcwd;
|
||||
|
|
|
@ -1,4 +1,12 @@
|
|||
#!/usr/bin/perl -s
|
||||
# Copyright 2003, 2004, 2005 Red Hat, Inc.
|
||||
#
|
||||
# This file is part of Cygwin.
|
||||
#
|
||||
# This software is a copyrighted work licensed under the terms of the
|
||||
# Cygwin license. Please consult the file "CYGWIN_LICENSE" for
|
||||
# details.
|
||||
#
|
||||
my $tls = shift;
|
||||
my $tls_out = shift;
|
||||
open(TLS, $tls) or die "$0: couldn't open tls file \"$tls\" - $!\n";
|
||||
|
|
Loading…
Reference in New Issue