Diff
Modified: branches/safari-536-branch/Source/WebCore/ChangeLog (117116 => 117117)
--- branches/safari-536-branch/Source/WebCore/ChangeLog 2012-05-15 19:25:23 UTC (rev 117116)
+++ branches/safari-536-branch/Source/WebCore/ChangeLog 2012-05-15 19:41:33 UTC (rev 117117)
@@ -1,5 +1,25 @@
2012-05-15 Lucas Forschler <[email protected]>
+ Merge 116449
+
+ 2012-05-08 Timothy Hatcher <[email protected]>
+
+ Fix the SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL macro so it passes the full path to dlopen.
+
+ dyld only considers libraries in the versioned framework path if their install name
+ matches the library that it is attempting to load. The path we were passing to
+ dlopen lacked the Versions/A component of the path so dyld did not recognize that
+ we wanted it to use the staged version if it is newer.
+
+ <rdar://problem/11406517>
+
+ Reviewed by Mark Rowe.
+
+ * platform/mac/SoftLinking.h: Have SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL take the
+ framework version as an argument and use it when constructing the path to dlopen.
+
+2012-05-15 Lucas Forschler <[email protected]>
+
Merge 116427
2012-05-08 Stephen Chenney <[email protected]>
Modified: branches/safari-536-branch/Source/WebCore/platform/mac/SoftLinking.h (117116 => 117117)
--- branches/safari-536-branch/Source/WebCore/platform/mac/SoftLinking.h 2012-05-15 19:25:23 UTC (rev 117116)
+++ branches/safari-536-branch/Source/WebCore/platform/mac/SoftLinking.h 2012-05-15 19:41:33 UTC (rev 117117)
@@ -52,13 +52,13 @@
return frameworkLibrary; \
}
-#define SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL(framework, unstagedLocation) \
+#define SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL(framework, unstagedLocation, version) \
static void* framework##Library() \
{ \
static void* frameworkLibrary = ^{ \
- void* result = dlopen("/System/Library/" #unstagedLocation "/" #framework ".framework/" #framework, RTLD_LAZY); \
+ void* result = dlopen("/System/Library/" #unstagedLocation "/" #framework ".framework/Versions/" #version "/" #framework, RTLD_LAZY); \
if (!result) \
- result = dlopen("/System/Library/StagedFrameworks/Safari/" #framework ".framework/" #framework, RTLD_LAZY); \
+ result = dlopen("/System/Library/StagedFrameworks/Safari/" #framework ".framework/Versions/" #version "/" #framework, RTLD_LAZY); \
return result; \
}(); \
return frameworkLibrary; \
Modified: branches/safari-536-branch/Source/WebKit/mac/ChangeLog (117116 => 117117)
--- branches/safari-536-branch/Source/WebKit/mac/ChangeLog 2012-05-15 19:25:23 UTC (rev 117116)
+++ branches/safari-536-branch/Source/WebKit/mac/ChangeLog 2012-05-15 19:41:33 UTC (rev 117117)
@@ -1,5 +1,19 @@
2012-05-15 Lucas Forschler <[email protected]>
+ Merge 116449
+
+ 2012-05-08 Timothy Hatcher <[email protected]>
+
+ Fix the SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL macro so it passes the full path to dlopen.
+
+ <rdar://problem/11406517>
+
+ Reviewed by Mark Rowe.
+
+ * WebCoreSupport/WebInspectorClient.mm: Pass A to SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL for the version.
+
+2012-05-15 Lucas Forschler <[email protected]>
+
Merge 116367
2012-05-07 Andy Estes <[email protected]>
Modified: branches/safari-536-branch/Source/WebKit/mac/WebCoreSupport/WebInspectorClient.mm (117116 => 117117)
--- branches/safari-536-branch/Source/WebKit/mac/WebCoreSupport/WebInspectorClient.mm 2012-05-15 19:25:23 UTC (rev 117116)
+++ branches/safari-536-branch/Source/WebKit/mac/WebCoreSupport/WebInspectorClient.mm 2012-05-15 19:41:33 UTC (rev 117117)
@@ -47,7 +47,7 @@
#import <WebKitSystemInterface.h>
#import <wtf/PassOwnPtr.h>
-SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL(WebInspector, PrivateFrameworks)
+SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL(WebInspector, PrivateFrameworks, A)
using namespace WebCore;
Modified: branches/safari-536-branch/Source/WebKit2/ChangeLog (117116 => 117117)
--- branches/safari-536-branch/Source/WebKit2/ChangeLog 2012-05-15 19:25:23 UTC (rev 117116)
+++ branches/safari-536-branch/Source/WebKit2/ChangeLog 2012-05-15 19:41:33 UTC (rev 117117)
@@ -1,5 +1,20 @@
2012-05-15 Lucas Forschler <[email protected]>
+ Merge 116449
+
+ 2012-05-08 Timothy Hatcher <[email protected]>
+
+ Fix the SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL macro so it passes the full path to dlopen.
+
+ <rdar://problem/11406517>
+
+ Reviewed by Mark Rowe.
+
+ * UIProcess/mac/WebInspectorProxyMac.mm: Pass A to SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL for the version.
+ * WebProcess/WebPage/mac/WebInspectorMac.mm: Ditto.
+
+2012-05-15 Lucas Forschler <[email protected]>
+
Merge 116367
2012-05-07 Andy Estes <[email protected]>
Modified: branches/safari-536-branch/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm (117116 => 117117)
--- branches/safari-536-branch/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm 2012-05-15 19:25:23 UTC (rev 117116)
+++ branches/safari-536-branch/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm 2012-05-15 19:41:33 UTC (rev 117117)
@@ -42,7 +42,7 @@
#import <WebCore/SoftLinking.h>
#import <wtf/text/WTFString.h>
-SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL(WebInspector, PrivateFrameworks)
+SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL(WebInspector, PrivateFrameworks, A)
using namespace WebCore;
using namespace WebKit;
Modified: branches/safari-536-branch/Source/WebKit2/WebProcess/WebPage/mac/WebInspectorMac.mm (117116 => 117117)
--- branches/safari-536-branch/Source/WebKit2/WebProcess/WebPage/mac/WebInspectorMac.mm 2012-05-15 19:25:23 UTC (rev 117116)
+++ branches/safari-536-branch/Source/WebKit2/WebProcess/WebPage/mac/WebInspectorMac.mm 2012-05-15 19:41:33 UTC (rev 117117)
@@ -28,7 +28,7 @@
#import <WebCore/SoftLinking.h>
-SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL(WebInspector, PrivateFrameworks)
+SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL(WebInspector, PrivateFrameworks, A)
namespace WebKit {