REGRESSION (r223476): WebCore exports symbols with names belonging to other frameworks
authorkeith_miller@apple.com <keith_miller@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 19 Oct 2017 18:18:32 +0000 (18:18 +0000)
committerkeith_miller@apple.com <keith_miller@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 19 Oct 2017 18:18:32 +0000 (18:18 +0000)
https://bugs.webkit.org/show_bug.cgi?id=178424

Reviewed by David Kilzer.

This patch moves the wrapper function sharing the name of the externed function
to the source file and marks it as always inline. Marking it as inline prevents
the framework from exporting it.

* wtf/cocoa/SoftLinking.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@223693 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WTF/ChangeLog
Source/WTF/wtf/cocoa/SoftLinking.h

index 96b4d6e..a1e875c 100644 (file)
@@ -1,3 +1,16 @@
+2017-10-19  Keith Miller  <keith_miller@apple.com>
+
+        REGRESSION (r223476): WebCore exports symbols with names belonging to other frameworks
+        https://bugs.webkit.org/show_bug.cgi?id=178424
+
+        Reviewed by David Kilzer.
+
+        This patch moves the wrapper function sharing the name of the externed function
+        to the source file and marks it as always inline. Marking it as inline prevents
+        the framework from exporting it.
+
+        * wtf/cocoa/SoftLinking.h:
+
 2017-10-18  Keith Miller  <keith_miller@apple.com>
 
         Setup WebCore build to start using unified sources.
index 1a532f1..8ebb3a1 100644 (file)
     { \
         return softLink##framework##functionName parameterNames; \
     } \
+    } \
+    ALWAYS_INLINE resultType functionName parameterDeclarations \
+    {\
+        return functionNamespace::softLink##framework##functionName parameterNames; \
     }
 
 #define SOFT_LINK_FUNCTION_FOR_SOURCE(functionNamespace, framework, functionName, resultType, parameterDeclarations, parameterNames) \
         }); \
         return softLink##framework##functionName parameterNames; \
     } \
-    } \
-    resultType functionName parameterDeclarations \
-    {\
-        return functionNamespace::softLink##framework##functionName parameterNames; \
     }
 
 #define SOFT_LINK_FUNCTION_MAY_FAIL_FOR_HEADER(functionNamespace, framework, functionName, resultType, parameterDeclarations, parameterNames) \