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