[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

simon.fraser at apple.com simon.fraser at apple.com
Thu Apr 8 02:10:24 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit 0050d588e307dedc061532d6056fe04e318198ef
Author: simon.fraser at apple.com <simon.fraser at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Mar 4 22:15:28 2010 +0000

    2010-03-04  Simon Fraser  <simon.fraser at apple.com>
    
            Build fix: add exceptions to the check-for-global-initializers script
            for FocusController and SpatialNavigation, and improve the script
            to actually print out the globals found.
    
            * Scripts/check-for-global-initializers:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55553 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index 3f46b87..b8c0002 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,11 @@
+2010-03-04  Simon Fraser  <simon.fraser at apple.com>
+
+        Build fix: add exceptions to the check-for-global-initializers script
+        for FocusController and SpatialNavigation, and improve the script
+        to actually print out the globals found.
+
+        * Scripts/check-for-global-initializers:
+
 2010-03-04  Dirk Pranke  <dpranke at chromium.org>
 
         Reviewed by Dimitri Glazkov.
diff --git a/WebKitTools/Scripts/check-for-global-initializers b/WebKitTools/Scripts/check-for-global-initializers
index cf83048..38dcb32 100755
--- a/WebKitTools/Scripts/check-for-global-initializers
+++ b/WebKitTools/Scripts/check-for-global-initializers
@@ -37,6 +37,7 @@ use strict;
 use File::Basename;
 
 sub touch($);
+sub demangle($);
 
 my $arch = $ENV{'CURRENT_ARCH'};
 my $configuration = $ENV{'CONFIGURATION'};
@@ -78,9 +79,14 @@ for my $file (sort @files) {
         next;
     }
     my $sawGlobal = 0;
+    my @globals;
     while (<NM>) {
         if (/^STDOUT:/) {
-            $sawGlobal = 1 if /__GLOBAL__I/;
+            my $line = $_;
+            if ($line =~ /__GLOBAL__I(.+)$/) {
+                $sawGlobal = 1;
+                push(@globals, demangle($1));
+            }
         } else {
             print STDERR if $_ ne "nm: no name list\n";
         }
@@ -112,6 +118,10 @@ for my $file (sort @files) {
                 next if $shortName eq "SubresourceLoader.o";
                 next if $shortName eq "SVGElementInstance.o";
                 next if $shortName eq "XMLHttpRequest.o";
+
+                #FIXME: check to see if these are legit.
+                next if $shortName eq "FocusController.o";
+                next if $shortName eq "SpatialNavigation.o";
             }
             if ($target eq "WebKit") {
                 next if $shortName eq "HostedNetscapePluginStream.o";
@@ -120,6 +130,7 @@ for my $file (sort @files) {
         }
 
         print "ERROR: $shortName has a global initializer in it! ($file)\n";
+        print "ERROR: @globals\n";
         $sawError = 1;
     }
 }
@@ -138,3 +149,17 @@ sub touch($)
     open(TOUCH, ">", $path) or die "$!";
     close(TOUCH);
 }
+
+sub demangle($)
+{
+    my ($symbol) = @_;
+    if (!open FILT, "c++filt $symbol |") {
+        print "ERROR: Could not open c++filt\n";
+        return;
+    }
+    my $result = <FILT>;
+    close FILT;
+    chomp $result;
+    return $result;
+}
+

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list