diff options
Diffstat (limited to 'winsup/cygwin/gendef')
-rwxr-xr-x | winsup/cygwin/gendef | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/winsup/cygwin/gendef b/winsup/cygwin/gendef index 5cc06f76c..1e2d117c7 100755 --- a/winsup/cygwin/gendef +++ b/winsup/cygwin/gendef @@ -1,5 +1,5 @@ #!/usr/bin/perl -# Copyright 2003, 2004, 2005, 2006, 2008, 2009, 2010 Red Hat, Inc. +# Copyright 2003, 2004, 2005, 2006, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc. # # This file is part of Cygwin. # @@ -26,9 +26,8 @@ open(IN, $in) or die "$0: couldn't open \"$in\" - $!\n"; my @top = (); while (<IN>) { push(@top, cleanup $_); - last if /^\s*exports\s*$/i; + last if /^\s*exports$/i; } -my $libline = cleanup scalar(<IN>); my @in = cleanup <IN>; close(IN); @@ -38,14 +37,14 @@ my @nosigfuncs = (); my @text = (); for (@in) { chomp; - s/\sDATA$//o and do { + s/\s+DATA$//o and do { push @data, $_; next; }; if (/=/o) { if (s/\s+NOSIGFE\s*$//) { # nothing - } elsif (s/ SIGFE(_MAYBE)?$//) { + } elsif (s/\s+SIGFE(_MAYBE)?$//) { my $func = (split(' '))[2]; my $maybe = lc $1 . '_'; $sigfe{$func} = '_sigfe' . $maybe . $func; @@ -68,7 +67,7 @@ for (@in) { } for (@text) { - my ($alias, $func) = /^(\S+) = (\S+)\s*$/o; + my ($alias, $func) = /^(\S+)\s+=\s+(\S+)\s*$/o; $_ = $alias . ' = ' . $sigfe{$func} if defined($func) && $sigfe{$func}; } @@ -196,8 +195,9 @@ _sigdelayed: xorl %ebp,%ebp xchgl %ebp,-4(%eax) # get return address from signal stack xchgl %ebp,28(%esp) # store real return address -leave: decl $tls::incyg(%ebx) - decl $tls::stacklock(%ebx) # unlock +leave: xorl %eax,%eax + movl %eax,$tls::incyg(%ebx) + movl %eax,$tls::stacklock(%ebx) # unlock popl %eax popl %ebx |