--- Source/WebKit/qt/WidgetApi/qwebframe_printingaddons_p.h.orig	2019-09-16 22:24:09.000000000 -0700
+++ Source/WebKit/qt/WidgetApi/qwebframe_printingaddons_p.h	2019-09-16 22:50:53.000000000 -0700
@@ -128,7 +128,7 @@
     ctx.translate(0, -offset);
 }
 
-void HeaderFooter::paint(WebCore::GraphicsContext& ctx, const WebCore::IntRect& pageRect, const QString& contents, int height)
+void U_EXPORT HeaderFooter::paint(WebCore::GraphicsContext& ctx, const WebCore::IntRect& pageRect, const QString& contents, int height)
 {
     page.mainFrame()->setHtml(contents);
 
--- Source/WebCore/page/Frame.cpp.orig	2019-09-16 22:24:08.000000000 -0700
+++ Source/WebCore/page/Frame.cpp	2019-09-16 22:52:08.000000000 -0700
@@ -562,7 +562,7 @@
     m_pageResets.append(page);
 }
 
-void Frame::getPagination(int page, int pages, int& logicalPage, int& logicalPages) const
+void U_EXPORT Frame::getPagination(int page, int pages, int& logicalPage, int& logicalPages) const
 {
     logicalPage = page;
     logicalPages = pages;
--- Source/WebCore/page/PrintContext.cpp.orig	2019-09-16 22:24:08.000000000 -0700
+++ Source/WebCore/page/PrintContext.cpp	2019-09-16 23:05:02.000000000 -0700
@@ -43,19 +43,19 @@
 // behavior matches MacIE and Mozilla, at least)
 const float printingMaximumShrinkFactor = 1.;
 
-PrintContext::PrintContext(Frame* frame)
+U_EXPORT PrintContext::PrintContext(Frame* frame)
     : m_frame(frame)
     , m_isPrinting(false)
 {
 }
 
-PrintContext::~PrintContext()
+U_EXPORT PrintContext::~PrintContext()
 {
     if (m_isPrinting)
         end();
 }
 
-void PrintContext::computePageRects(const FloatRect& printRect, float headerHeight, float footerHeight, float userScaleFactor, float& outPageHeight, bool allowHorizontalTiling)
+void U_EXPORT PrintContext::computePageRects(const FloatRect& printRect, float headerHeight, float footerHeight, float userScaleFactor, float& outPageHeight, bool allowHorizontalTiling)
 {
     m_pageRects.clear();
     outPageHeight = 0;
@@ -160,7 +160,7 @@
     }
 }
 
-void PrintContext::begin(float width, float height)
+void U_EXPORT PrintContext::begin(float width, float height)
 {
     // This function can be called multiple times to adjust printing parameters without going back to screen mode.
     m_isPrinting = true;
@@ -190,7 +190,7 @@
     return max(maxShrinkToFitScaleFactor, shrinkToFitScaleFactor);
 }
 
-void PrintContext::spoolPage(GraphicsContext& ctx, int pageNumber, float width)
+void U_EXPORT PrintContext::spoolPage(GraphicsContext& ctx, int pageNumber, float width)
 {
     // FIXME: Not correct for vertical text.
     IntRect pageRect = m_pageRects[pageNumber];
@@ -214,7 +214,7 @@
     ctx.restore();
 }
 
-void PrintContext::end()
+void U_EXPORT PrintContext::end()
 {
     ASSERT(m_isPrinting);
     m_isPrinting = false;
--- Source/WebCore/platform/graphics/qt/IntRectQt.cpp.orig	2019-09-16 22:24:09.000000000 -0700
+++ Source/WebCore/platform/graphics/qt/IntRectQt.cpp	2019-09-16 23:02:12.000000000 -0700
@@ -32,7 +32,7 @@
 
 namespace WebCore {
 
-IntRect::IntRect(const QRect& r)
+__attribute__((visibility("default"))) IntRect::IntRect(const QRect& r)
     : m_location(r.topLeft())
     , m_size(r.width(), r.height())
 {
--- Source/WebCore/platform/graphics/qt/GraphicsContextQt.cpp.orig	2019-09-16 22:24:11.000000000 -0700
+++ Source/WebCore/platform/graphics/qt/GraphicsContextQt.cpp	2019-09-16 23:06:29.000000000 -0700
@@ -1473,7 +1473,7 @@
     }
 }
 
-void GraphicsContext::translate(float x, float y)
+void U_EXPORT GraphicsContext::translate(float x, float y)
 {
     if (paintingDisabled())
         return;
--- Source/WebCore/platform/graphics/FloatRect.cpp.orig	2019-09-16 22:24:09.000000000 -0700
+++ Source/WebCore/platform/graphics/FloatRect.cpp	2019-09-16 23:00:25.000000000 -0700
@@ -38,7 +38,7 @@
 
 namespace WebCore {
 
-FloatRect::FloatRect(const IntRect& r) : m_location(r.location()), m_size(r.size())
+__attribute__((visibility("default"))) FloatRect::FloatRect(const IntRect& r) : m_location(r.location()), m_size(r.size())
 {
 }
 
