Title: [157496] trunk/Source/WebCore
Revision
157496
Author
[email protected]
Date
2013-10-16 00:32:42 -0700 (Wed, 16 Oct 2013)

Log Message

Fix the build after r157478.

Rubber-stamped by Tim Horton.

Due to the way WebCore.exp.in is used, it can't be used to export a differing set of symbols
for different architectures. We often work around this by tweaking code slightly to avoid
needing to export different symbols. However, in this case the symbol name itself encodes an
architecture-specific detail and there's no clear way to avoid the requirement to export it.

To deal with this case we turn to ld's support for wildcards in the symbol export list.

* WebCore.exp.in: Use wildcards in place of the number that represents by how much "this"
should be adjusted when calling through the vtable thunk. Also sort the remainder of the file.
* make-export-file-generator: Don't attempt to verify symbol names that contain wildcard characters.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (157495 => 157496)


--- trunk/Source/WebCore/ChangeLog	2013-10-16 06:56:04 UTC (rev 157495)
+++ trunk/Source/WebCore/ChangeLog	2013-10-16 07:32:42 UTC (rev 157496)
@@ -1,3 +1,20 @@
+2013-10-16  Mark Rowe  <[email protected]>
+
+        Fix the build after r157478.
+
+        Rubber-stamped by Tim Horton.
+
+        Due to the way WebCore.exp.in is used, it can't be used to export a differing set of symbols
+        for different architectures. We often work around this by tweaking code slightly to avoid
+        needing to export different symbols. However, in this case the symbol name itself encodes an
+        architecture-specific detail and there's no clear way to avoid the requirement to export it.
+
+        To deal with this case we turn to ld's support for wildcards in the symbol export list.
+
+        * WebCore.exp.in: Use wildcards in place of the number that represents by how much "this"
+        should be adjusted when calling through the vtable thunk. Also sort the remainder of the file.
+        * make-export-file-generator: Don't attempt to verify symbol names that contain wildcard characters.
+
 2013-10-15  Tim Horton  <[email protected]>
 
         Two more exports for 32-bit build fix.

Modified: trunk/Source/WebCore/WebCore.exp.in (157495 => 157496)


--- trunk/Source/WebCore/WebCore.exp.in	2013-10-16 06:56:04 UTC (rev 157495)
+++ trunk/Source/WebCore/WebCore.exp.in	2013-10-16 07:32:42 UTC (rev 157496)
@@ -433,6 +433,10 @@
 __ZN7WebCore15BackForwardList8capacityEv
 __ZN7WebCore15BackForwardList9goForwardEv
 __ZN7WebCore15BackForwardListC1EPNS_4PageE
+__ZN7WebCore15CertificateInfo19setCertificateChainEPK9__CFArray
+__ZN7WebCore15CertificateInfoC1EPK9__CFArray
+__ZN7WebCore15CertificateInfoC1Ev
+__ZN7WebCore15CertificateInfoD1Ev
 __ZN7WebCore15DOMWrapperWorld13clearWrappersEv
 __ZN7WebCore15DOMWrapperWorldD1Ev
 __ZN7WebCore15DatabaseManager10initializeERKN3WTF6StringE
@@ -482,8 +486,6 @@
 __ZN7WebCore15GraphicsContext9setShadowERKNS_9FloatSizeEfRKNS_5ColorENS_10ColorSpaceE
 __ZN7WebCore15GraphicsContext9translateEff
 __ZN7WebCore15GraphicsContextD1Ev
-__ZN7WebCore15GraphicsLayerCAC2EPNS_19GraphicsLayerClientE
-__ZN7WebCore15GraphicsLayerCAD2Ev
 __ZN7WebCore15GraphicsLayerCA10initializeEv
 __ZN7WebCore15GraphicsLayerCA10setFiltersERKNS_16FilterOperationsE
 __ZN7WebCore15GraphicsLayerCA10setOpacityEf
@@ -542,11 +544,13 @@
 __ZN7WebCore15GraphicsLayerCA7setNameERKN3WTF6StringE
 __ZN7WebCore15GraphicsLayerCA7setSizeERKNS_9FloatSizeE
 __ZN7WebCore15GraphicsLayerCA8addChildEPNS_13GraphicsLayerE
-__ZN7WebCore15PlatformCALayerD2Ev
+__ZN7WebCore15GraphicsLayerCAC2EPNS_19GraphicsLayerClientE
+__ZN7WebCore15GraphicsLayerCAD2Ev
 __ZN7WebCore15HitTestLocation12rectForPointERKNS_11LayoutPointEjjjj
 __ZN7WebCore15JSDOMWindowBase8commonVMEv
 __ZN7WebCore15PasteboardImageC1Ev
 __ZN7WebCore15PasteboardImageD1Ev
+__ZN7WebCore15PlatformCALayerD2Ev
 __ZN7WebCore15ProtectionSpaceC1ERKN3WTF6StringEiNS_25ProtectionSpaceServerTypeES4_NS_35ProtectionSpaceAuthenticationSchemeE
 __ZN7WebCore15ProtectionSpaceC1Ev
 __ZN7WebCore15ResourceRequest21httpPipeliningEnabledEv
@@ -823,11 +827,6 @@
 __ZN7WebCore23AuthenticationChallengeC1ERKNS_15ProtectionSpaceERKNS_10CredentialEjRKNS_16ResourceResponseERKNS_13ResourceErrorE
 __ZN7WebCore23MutableStylePropertySet25ensureCSSStyleDeclarationEv
 __ZN7WebCore23MutableStylePropertySetD1Ev
-__ZN7WebCore15CertificateInfo19setCertificateChainEPK9__CFArray
-__ZN7WebCore15CertificateInfoC1EPK9__CFArray
-__ZN7WebCore15CertificateInfoC1Ev
-__ZN7WebCore15CertificateInfoD1Ev
-__ZNK7WebCore15CertificateInfo16certificateChainEv
 __ZN7WebCore23SynchronousLoaderClient24platformBadResponseErrorEv
 __ZN7WebCore23dataForURLComponentTypeEP5NSURLl
 __ZN7WebCore23decodeHostNameWithRangeEP8NSString8_NSRange
@@ -1523,6 +1522,7 @@
 __ZNK7WebCore15AffineTransform7mapRectERKNS_9FloatRectE
 __ZNK7WebCore15AffineTransform8mapPointERKNS_10FloatPointE
 __ZNK7WebCore15AffineTransform8mapPointERKNS_8IntPointE
+__ZNK7WebCore15CertificateInfo16certificateChainEv
 __ZNK7WebCore15FocusController18focusedOrMainFrameEv
 __ZNK7WebCore15GraphicsContext15platformContextEv
 __ZNK7WebCore15GraphicsContext16paintingDisabledEv
@@ -1536,22 +1536,6 @@
 __ZNK7WebCore15GraphicsLayerCA26backingStoreMemoryEstimateEv
 __ZNK7WebCore15GraphicsLayerCA30visibleRectChangeRequiresFlushERKNS_9FloatRectE
 __ZNK7WebCore15GraphicsLayerCA33platformCALayerShowRepaintCounterEPNS_15PlatformCALayerE
-
-#if CPU(X86_64)
-__ZThn496_N7WebCore15GraphicsLayerCA28platformCALayerPaintContentsERNS_15GraphicsContextERKNS_7IntRectE
-__ZThn496_N7WebCore15GraphicsLayerCA31platformCALayerAnimationStartedEd
-__ZThn496_N7WebCore15GraphicsLayerCA32platformCALayerDeviceScaleFactorEv
-__ZThn496_N7WebCore15GraphicsLayerCA40platformCALayerSetNeedsToRevalidateTilesEv
-__ZThn496_NK7WebCore15GraphicsLayerCA33platformCALayerShowRepaintCounterEPNS_15PlatformCALayerE
-#else
-__ZThn440_N7WebCore15GraphicsLayerCA40platformCALayerSetNeedsToRevalidateTilesEv
-__ZThn440_N7WebCore15GraphicsLayerCA31platformCALayerAnimationStartedEd
-__ZThn440_NK7WebCore15GraphicsLayerCA33platformCALayerShowRepaintCounterEPNS_15PlatformCALayerE
-__ZThn440_N7WebCore15GraphicsLayerCA28platformCALayerPaintContentsERNS_15GraphicsContextERKNS_7IntRectE
-__ZThn440_N7WebCore15GraphicsLayerCA32platformCALayerDeviceScaleFactorEv
-#endif
-
-__ZTVN7WebCore15PlatformCALayerE
 __ZNK7WebCore15ProgressTracker17estimatedProgressEv
 __ZNK7WebCore15ProtectionSpace10serverTypeEv
 __ZNK7WebCore15ProtectionSpace26receivesCredentialSecurelyEv
@@ -1767,8 +1751,8 @@
 __ZNK7WebCore9DOMWindow27pendingUnloadEventListenersEv
 __ZNK7WebCore9FloatQuad11boundingBoxEv
 __ZNK7WebCore9FloatRect10intersectsERKS0_
-__ZNK7WebCore9FloatSize6isZeroEv
 __ZNK7WebCore9FloatRectcv6CGRectEv
+__ZNK7WebCore9FloatSize6isZeroEv
 __ZNK7WebCore9FrameTree10childCountEv
 __ZNK7WebCore9FrameTree12traverseNextEPKNS_5FrameE
 __ZNK7WebCore9FrameTree14isDescendantOfEPKNS_5FrameE
@@ -1805,11 +1789,17 @@
 __ZTVN7WebCore12ChromeClientE
 __ZTVN7WebCore14LoaderStrategyE
 __ZTVN7WebCore14StaticNodeListE
+__ZTVN7WebCore15PlatformCALayerE
 __ZTVN7WebCore15StorageStrategyE
 __ZTVN7WebCore16DatabaseStrategyE
 __ZTVN7WebCore16IconDatabaseBaseE
 __ZTVN7WebCore17FrameLoaderClientE
 __ZTVN7WebCore28InspectorFrontendClientLocal8SettingsE
+__ZThn???_N7WebCore15GraphicsLayerCA28platformCALayerPaintContentsERNS_15GraphicsContextERKNS_7IntRectE
+__ZThn???_N7WebCore15GraphicsLayerCA31platformCALayerAnimationStartedEd
+__ZThn???_N7WebCore15GraphicsLayerCA32platformCALayerDeviceScaleFactorEv
+__ZThn???_N7WebCore15GraphicsLayerCA40platformCALayerSetNeedsToRevalidateTilesEv
+__ZThn???_NK7WebCore15GraphicsLayerCA33platformCALayerShowRepaintCounterEPNS_15PlatformCALayerE
 _filenameByFixingIllegalCharacters
 _hasCaseInsensitivePrefix
 _hasCaseInsensitiveSubstring

Modified: trunk/Source/WebCore/make-export-file-generator (157495 => 157496)


--- trunk/Source/WebCore/make-export-file-generator	2013-10-16 06:56:04 UTC (rev 157495)
+++ trunk/Source/WebCore/make-export-file-generator	2013-10-16 07:32:42 UTC (rev 157496)
@@ -40,12 +40,22 @@
 
 #if !OS(WINDOWS)
 #include <cxxabi.h>
+
+static bool symbolCanBeValidated(const char* symbol)
+{
+    // Symbols containing wildcards cannot be validated.
+    if (strchr(symbol, '?') || strchr(symbol, '*'))
+        return false;
+
+    // Other C++ symbols can be.
+    return !strncmp(symbol, "__Z", strlen("__Z"));
+}
 #endif
 
 static void validateAndPrint(const char* symbol)
 {
 #if !OS(WINDOWS)
-    if (!strncmp(symbol, "__Z", strlen("__Z"))) {
+    if (symbolCanBeValidated(symbol)) {
       char* demangledName = abi::__cxa_demangle(symbol + 1, nullptr, nullptr, nullptr);
       if (!demangledName) {
         fprintf(stderr, "ERROR: \\"%s\\" is not a valid C++ mangled name.\\n", symbol);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to