<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>141607</bug_id>
          
          <creation_ts>2015-02-14 10:51:08 -0800</creation_ts>
          <short_desc>REGRESSION (r180082): WebCore Debug builds fail on Mavericks due to weak export symbols</short_desc>
          <delta_ts>2015-02-16 04:56:08 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="David Kilzer (:ddkilzer)">ddkilzer</assigned_to>
          <cc>achristensen</cc>
    
    <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>bfulgham</cc>
    
    <cc>dbates</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>joepeck</cc>
    
    <cc>kling</cc>
    
    <cc>mrowe</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1069215</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-14 10:51:08 -0800</bug_when>
    <thetext>After r180082 landed, WebCore Debug builds fail on Mountain Lion due to weak export symbols:

    /bin/sh -c OpenSource/WebKitBuild/WebCore.build/Debug/WebCore.build/Script-5D0D540D0E9862F60029E223.sh
ERROR: WebCore has a weak external symbol in it (OpenSource/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore)
ERROR: A weak external symbol is generated when a symbol is defined in multiple compilation units and is also marked as being exported from the library.
ERROR: A common cause of weak external symbols is when an inline function is listed in the linker export file.
ERROR: symbol _AudioConverterConvertComplexBuffer
ERROR: symbol _AudioConverterNew
ERROR: symbol _CMAudioDeviceClockCreate
ERROR: symbol _CMBlockBufferCopyDataBytes
ERROR: symbol _CMBlockBufferGetDataLength
ERROR: symbol _CMFormatDescriptionGetExtensions
ERROR: symbol _CMSampleBufferGetDataBuffer
ERROR: symbol _CMSampleBufferGetFormatDescription
ERROR: symbol _CMSampleBufferGetSampleTimingInfo
ERROR: symbol _CMTimeCompare
ERROR: symbol _CMTimeGetSeconds
ERROR: symbol _CMTimeMake
ERROR: symbol _CMTimeMakeWithSeconds
ERROR: symbol _CMTimeRangeGetEnd
ERROR: symbol _CMTimebaseCreateWithMasterClock
ERROR: symbol _CMTimebaseGetTime
ERROR: symbol _CMTimebaseSetRate
ERROR: symbol _CMTimebaseSetTime
ERROR: symbol _CTFontDescriptorCopyAttribute
ERROR: symbol _CVPixelBufferGetBaseAddress
ERROR: symbol _CVPixelBufferGetBytesPerRow
ERROR: symbol _CVPixelBufferGetDataSize
ERROR: symbol _CVPixelBufferGetHeight
ERROR: symbol _CVPixelBufferGetPixelFormatType
ERROR: symbol _CVPixelBufferGetWidth
ERROR: symbol _CVPixelBufferLockBaseAddress
ERROR: symbol _CVPixelBufferUnlockBaseAddress
ERROR: symbol _MACaptionAppearanceAddSelectedLanguage
ERROR: symbol _MACaptionAppearanceCopyBackgroundColor
ERROR: symbol _MACaptionAppearanceCopyFontDescriptorForStyle
ERROR: symbol _MACaptionAppearanceCopyForegroundColor
ERROR: symbol _MACaptionAppearanceCopyPreferredCaptioningMediaCharacteristics
ERROR: symbol _MACaptionAppearanceCopySelectedLanguages
ERROR: symbol _MACaptionAppearanceCopyWindowColor
ERROR: symbol _MACaptionAppearanceGetBackgroundOpacity
ERROR: symbol _MACaptionAppearanceGetDisplayType
ERROR: symbol _MACaptionAppearanceGetForegroundOpacity
ERROR: symbol _MACaptionAppearanceGetRelativeCharacterSize
ERROR: symbol _MACaptionAppearanceGetTextEdgeStyle
ERROR: symbol _MACaptionAppearanceGetWindowOpacity
ERROR: symbol _MACaptionAppearanceGetWindowRoundedCornerRadius
ERROR: symbol _MACaptionAppearanceSetDisplayType
ERROR: symbol _MTAudioProcessingTapGetSourceAudio
ERROR: symbol _MTAudioProcessingTapGetStorage
ERROR: symbol _VTPixelTransferSessionCreate
ERROR: symbol _VTPixelTransferSessionTransferImage
ERROR: symbol __ZN3JSC14JSGlobalObject16setConsoleClientEPNS_13ConsoleClientE
ERROR: symbol __ZN7WebCore19DragCaretController5clearEv
ERROR: symbol __ZN7WebCore4toJSEPN3JSC9ExecStateEPNS_17JSDOMGlobalObjectEPNS_8NodeListE
ERROR: symbol __ZN7WebCore5Event6createERKN3WTF12AtomicStringEbb
ERROR: symbol __ZN7WebCore8Document24setAnnotatedRegionsDirtyEb
ERROR: symbol __ZN7WebCore8PositionC1Ev
ERROR: symbol __ZN7WebCore8PositionC2Ev
ERROR: symbol __ZNK3JSC7JSValue7toFloatEPNS_9ExecStateE
ERROR: symbol __ZNK7WebCore14ResourceLoader15originalRequestEv
ERROR: symbol __ZNK7WebCore4Node16hasEditableStyleENS_12EditableTypeENS0_22UserSelectAllTreatmentE
ERROR: symbol __ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_13basic_istreamIcS2_EE
ERROR: symbol __ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_14basic_iostreamIcS2_EE
ERROR: symbol __ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE16_NS_13basic_ostreamIcS2_EE
ERROR: symbol __ZTCNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_13basic_istreamIcS2_EE
ERROR: symbol __ZTCNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_13basic_ostreamIcS2_EE
ERROR: symbol __ZTTNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
ERROR: symbol __ZTTNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
ERROR: symbol __ZTTNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
ERROR: symbol __ZTVN9Inspector17ScriptDebugServer4TaskE
ERROR: symbol __ZTVN9Inspector22InspectorDebuggerAgent8ListenerE
ERROR: symbol __ZTVNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE
ERROR: symbol __ZTVNSt3__117bad_function_callE
ERROR: symbol __ZTVNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
ERROR: symbol __ZTVNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
ERROR: symbol __ZTVNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
Command /bin/sh failed with exit code 1

** BUILD FAILED **


The following build commands failed:
	PhaseScriptExecution Check\ For\ Weak\ VTables\ and\ Externals OpenSource/WebKitBuild/WebCore.build/Debug/WebCore.build/Script-5D0D540D0E9862F60029E223.sh
(1 failure)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069217</commentid>
    <comment_count>1</comment_count>
      <attachid>246601</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-14 10:53:53 -0800</bug_when>
    <thetext>Created attachment 246601
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069219</commentid>
    <comment_count>2</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-14 10:56:52 -0800</bug_when>
    <thetext>I&apos;m not sure if listing &quot;extra&quot; symbols in WebCore.unexp is an issue or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069222</commentid>
    <comment_count>3</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-14 11:03:59 -0800</bug_when>
    <thetext>Oops, this was Mavericks, not Mountain Lion.  I&apos;ve already forgotten what the Mavericks background looks like.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069225</commentid>
    <comment_count>4</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-14 11:06:38 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; I&apos;m not sure if listing &quot;extra&quot; symbols in WebCore.unexp is an issue or not.

Meaning that I&apos;m not sure whether adding these symbols will break Release builds if the weak symbols don&apos;t appear in the binary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069226</commentid>
    <comment_count>5</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-14 11:13:17 -0800</bug_when>
    <thetext>Also, the JavaScriptCore and WebCore symbols should probably be marked as exported instead of listed in this file, correct?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069229</commentid>
    <comment_count>6</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-14 11:43:41 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Also, the JavaScriptCore and WebCore symbols should probably be marked as
&gt; exported instead of listed in this file, correct?

Most of them look like inlined functions defined in a header that are already exported.  I guess that&apos;s what the bug is that WebCore.unexp is working around?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069230</commentid>
    <comment_count>7</comment_count>
      <attachid>246601</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-14 11:53:14 -0800</bug_when>
    <thetext>Comment on attachment 246601
Patch v1

View in context: https://bugs.webkit.org/attachment.cgi?id=246601&amp;action=review

&gt; Source/WebCore/Configurations/WebCore.unexp:67
&gt; +__ZN3JSC14JSGlobalObject16setConsoleClientEPNS_13ConsoleClientE

JS_EXPORT_PRIVATE void setConsoleClient(ConsoleClient* consoleClient) { m_consoleClient = consoleClient; }

&gt; Source/WebCore/Configurations/WebCore.unexp:68
&gt; +__ZN7WebCore19DragCaretController5clearEv

WEBCORE_EXPORT void clear() { setCaretPosition(VisiblePosition()); }

&gt; Source/WebCore/Configurations/WebCore.unexp:69
&gt; +__ZN7WebCore4toJSEPN3JSC9ExecStateEPNS_17JSDOMGlobalObjectEPNS_8NodeListE

ALWAYS_INLINE JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject* globalObject, NodeList* nodeList)
{
    if (!nodeList)
        return JSC::jsNull();
    if (JSC::JSValue existingWrapper = getExistingWrapper&lt;JSNodeList&gt;(globalObject, nodeList))
        return existingWrapper;
    return createWrapper(*globalObject, *nodeList);
}

This should never appear as a symbol if it&apos;s always inlined, although maybe Debug builds turn off the inlining such that the symbol is still present?

&gt; Source/WebCore/Configurations/WebCore.unexp:70
&gt; +__ZN7WebCore5Event6createERKN3WTF12AtomicStringEbb

WEBCORE_EXPORT static Ref&lt;Event&gt; create(const AtomicString&amp; type, bool canBubble, bool cancelable)
    {
        return adoptRef(*new Event(type, canBubble, cancelable));
    }

&gt; Source/WebCore/Configurations/WebCore.unexp:71
&gt; +__ZN7WebCore8Document24setAnnotatedRegionsDirtyEb

WEBCORE_EXPORT void setAnnotatedRegionsDirty(bool f) { m_annotatedRegionsDirty = f; }

&gt; Source/WebCore/Configurations/WebCore.unexp:73
&gt; +__ZN7WebCore8PositionC1Ev
&gt; +__ZN7WebCore8PositionC2Ev

WEBCORE_EXPORT Position()
        : m_offset(0)
        , m_anchorType(PositionIsOffsetInAnchor)
        , m_isLegacyEditingPosition(false)
    {
    }

&gt; Source/WebCore/Configurations/WebCore.unexp:75
&gt; +__ZNK7WebCore14ResourceLoader15originalRequestEv

WEBCORE_EXPORT const ResourceRequest&amp; originalRequest() const { return m_originalRequest; }

&gt; Source/WebCore/Configurations/WebCore.unexp:76
&gt; +__ZNK7WebCore4Node16hasEditableStyleENS_12EditableTypeENS0_22UserSelectAllTreatmentE

WEBCORE_EXPORT bool hasEditableStyle(EditableType editableType = ContentIsEditable, UserSelectAllTreatment treatment = UserSelectAllIsAlwaysNonEditable) const
    {
        switch (editableType) {
        case ContentIsEditable:
            return hasEditableStyle(Editable, treatment);
        case HasEditableAXRole:
            return isEditableToAccessibility(Editable);
        }
        ASSERT_NOT_REACHED();
        return false;
    }

&gt; Source/WebCore/Configurations/WebCore.unexp:77
&gt; +__ZTVN9Inspector17ScriptDebugServer4TaskE

class JS_EXPORT_PRIVATE ScriptDebugServer : public JSC::Debugger {
[...]
public:
[...]
    class Task {
        WTF_MAKE_FAST_ALLOCATED;
    public:
        virtual ~Task() { }
        virtual void run() = 0;
    };

Maybe Task needs to be exported here?

&gt; Source/WebCore/Configurations/WebCore.unexp:78
&gt; +__ZTVN9Inspector22InspectorDebuggerAgent8ListenerE

class JS_EXPORT_PRIVATE InspectorDebuggerAgent : public InspectorAgentBase, public ScriptDebugListener, public InspectorDebuggerBackendDispatcherHandler {
[...]
public:
[...]
    class Listener {
    public:
        virtual ~Listener() { }
        virtual void debuggerWasEnabled() = 0;
        virtual void debuggerWasDisabled() = 0;
        virtual void stepInto() = 0;
        virtual void didPause() = 0;
    };

Maybe Listener needs to be exported here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069232</commentid>
    <comment_count>8</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2015-02-14 12:06:49 -0800</bug_when>
    <thetext>Is it really sensible for inline functions declared in headers to be marked as exported? Why are symbols from CoreMedia and friends being marked as exported from WebCore at all? These seem like issues that should be fixed at the source rather than worked around in the .unexp file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069236</commentid>
    <comment_count>9</comment_count>
      <attachid>246601</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-14 12:23:00 -0800</bug_when>
    <thetext>Comment on attachment 246601
Patch v1

View in context: https://bugs.webkit.org/attachment.cgi?id=246601&amp;action=review

&gt; Source/WebCore/Configurations/WebCore.unexp:47
&gt; +_CVPixelBufferGetBaseAddress
&gt; +_CVPixelBufferGetBytesPerRow
&gt; +_CVPixelBufferGetDataSize
&gt; +_CVPixelBufferGetHeight
&gt; +_CVPixelBufferGetPixelFormatType
&gt; +_CVPixelBufferGetWidth
&gt; +_CVPixelBufferLockBaseAddress
&gt; +_CVPixelBufferUnlockBaseAddress

These appear to be soft-linked symbols:

SOFT_LINK(CoreVideo, CVPixelBufferGetWidth, size_t, (CVPixelBufferRef pixelBuffer), (pixelBuffer))
SOFT_LINK(CoreVideo, CVPixelBufferGetHeight, size_t, (CVPixelBufferRef pixelBuffer), (pixelBuffer))
SOFT_LINK(CoreVideo, CVPixelBufferGetBaseAddress, void*, (CVPixelBufferRef pixelBuffer), (pixelBuffer))
SOFT_LINK(CoreVideo, CVPixelBufferGetBytesPerRow, size_t, (CVPixelBufferRef pixelBuffer), (pixelBuffer))
SOFT_LINK(CoreVideo, CVPixelBufferGetDataSize, size_t, (CVPixelBufferRef pixelBuffer), (pixelBuffer))
SOFT_LINK(CoreVideo, CVPixelBufferGetPixelFormatType, OSType, (CVPixelBufferRef pixelBuffer), (pixelBuffer))
SOFT_LINK(CoreVideo, CVPixelBufferLockBaseAddress, CVReturn, (CVPixelBufferRef pixelBuffer, CVOptionFlags lockFlags), (pixelBuffer, lockFlags))
SOFT_LINK(CoreVideo, CVPixelBufferUnlockBaseAddress, CVReturn, (CVPixelBufferRef pixelBuffer, CVOptionFlags lockFlags), (pixelBuffer, lockFlags))

I suspect the rest of them are as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069238</commentid>
    <comment_count>10</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-14 12:32:28 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Is it really sensible for inline functions declared in headers to be marked
&gt; as exported? Why are symbols from CoreMedia and friends being marked as
&gt; exported from WebCore at all? These seem like issues that should be fixed at
&gt; the source rather than worked around in the .unexp file.

True, but I suspect it would be better to unbreak the build first, then fix the issues so that the symbols could be removed from the .unexp file.

Also, I think these symbols need to be ignored in Tools/Scripts/check-for-weak-vtables-and-externals:

__ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_13basic_istreamIcS2_EE
__ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE8_NS_13basic_ostreamIcS2_EE
__ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_14basic_iostreamIcS2_EE
__ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE16_NS_13basic_ostreamIcS2_EE
__ZTCNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_13basic_istreamIcS2_EE
__ZTCNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_13basic_ostreamIcS2_EE
__ZTTNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
__ZTTNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
__ZTTNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
__ZTVNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE
__ZTVNSt3__117bad_function_callE
__ZTVNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
__ZTVNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
__ZTVNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069243</commentid>
    <comment_count>11</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-14 13:53:46 -0800</bug_when>
    <thetext>Work towards fixing the Mavericks Debug build:

Committed r180114: &lt;http://trac.webkit.org/changeset/180114&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069267</commentid>
    <comment_count>12</comment_count>
      <attachid>246613</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-14 20:25:15 -0800</bug_when>
    <thetext>Created attachment 246613
Patch #2 v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069270</commentid>
    <comment_count>13</comment_count>
      <attachid>246615</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-14 20:41:37 -0800</bug_when>
    <thetext>Created attachment 246615
Try declaring soft-linked functions with extern &quot;C&quot; linkage</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069282</commentid>
    <comment_count>14</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-14 21:39:23 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; Created attachment 246615 [details]
&gt; Try declaring soft-linked functions with extern &quot;C&quot; linkage

Committed r180122: &lt;http://trac.webkit.org/changeset/180122&gt;

This should hopefully clean up most of the soft-linked functions being complained about on the Mavericks Debug build.  If it does, that means that these functions were not declared by another header (such as an *SPI.h header or a framework header).  That should be fixed separately.

On a positive note, for functions that were declared by another header, if the declarations don&apos;t match, the build should fail (which is what we want to happen so we can fix the function parameters when soft-linking).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069284</commentid>
    <comment_count>15</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-02-14 21:58:26 -0800</bug_when>
    <thetext>This broke the build on Yosemite open source builders.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069287</commentid>
    <comment_count>16</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-02-14 23:27:14 -0800</bug_when>
    <thetext>Attempted a fix in r180124.

It doesn&apos;t seem like we are on the right track here. How can a soft link declaration possibly affect linker warnings? The names we use for soft linked entities do not clash with original names, they are entirely separate (e.g. softLinkAudioConverterNew). And r180122 only changed a declaration, not any definition.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069288</commentid>
    <comment_count>17</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-02-14 23:28:55 -0800</bug_when>
    <thetext>Landing the build fix was quicker for me at the time, but really, both 180122 and 180124 should be rolled out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069289</commentid>
    <comment_count>18</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-02-14 23:40:46 -0800</bug_when>
    <thetext>Actually, let me take that back. SOFT_LINK does define the function with that name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069291</commentid>
    <comment_count>19</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-02-14 23:53:37 -0800</bug_when>
    <thetext>More build fixing in &lt;http://trac.webkit.org/r180125&gt;. Sorry if this will break more than it fixes, I don&apos;t have a trunk build to confirm with.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069292</commentid>
    <comment_count>20</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-02-15 00:10:09 -0800</bug_when>
    <thetext>More in r180126.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069304</commentid>
    <comment_count>21</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-15 03:19:13 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #13)
&gt; &gt; Created attachment 246615 [details]
&gt; &gt; Try declaring soft-linked functions with extern &quot;C&quot; linkage
&gt; 
&gt; Committed r180122: &lt;http://trac.webkit.org/changeset/180122&gt;
&gt; 
&gt; This should hopefully clean up most of the soft-linked functions being
&gt; complained about on the Mavericks Debug build.  If it does, that means that
&gt; these functions were not declared by another header (such as an *SPI.h
&gt; header or a framework header).  That should be fixed separately.

These declarations had no effect on the Mavericks Debug build.

&gt; On a positive note, for functions that were declared by another header, if
&gt; the declarations don&apos;t match, the build should fail (which is what we want
&gt; to happen so we can fix the function parameters when soft-linking).

However, they did find some other incorrect declarations (r180124, r180125).  Sorry for breaking the build, Alexey.  I was watching EWS bubbles too intently instead of checking the dashboard as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069306</commentid>
    <comment_count>22</comment_count>
      <attachid>246618</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-15 03:55:36 -0800</bug_when>
    <thetext>Created attachment 246618
SOFT_LINK() shoulde hide redeclared function like SOFT_LINK_MAY_FAIL()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069307</commentid>
    <comment_count>23</comment_count>
      <attachid>246618</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-15 03:58:43 -0800</bug_when>
    <thetext>Comment on attachment 246618
SOFT_LINK() shoulde hide redeclared function like SOFT_LINK_MAY_FAIL()

View in context: https://bugs.webkit.org/attachment.cgi?id=246618&amp;action=review

&gt; Source/WebCore/platform/mac/SoftLinking.h:111
&gt; -    inline resultType functionName parameterDeclarations \
&gt; +    __attribute__((visibility(&quot;hidden&quot;))) inline resultType functionName parameterDeclarations \

Why not just use &apos;static&apos; instead of &apos;__attribute__((visibility(&quot;hidden&quot;)))&apos; here and in SOFT_LINKING_MAY_FAIL()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069309</commentid>
    <comment_count>24</comment_count>
      <attachid>246618</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-15 07:58:44 -0800</bug_when>
    <thetext>Comment on attachment 246618
SOFT_LINK() shoulde hide redeclared function like SOFT_LINK_MAY_FAIL()

This seems like the correct approach, but the redefinition of the method conflicts with at least some methods that set an explicit visibility themselves, like MediaAccessibility.framework:

/Volumes/Data/EWS/WebKit/Source/WebCore/page/CaptionUserPreferencesMediaAF.cpp:79:1: error: visibility does not match previous declaration
SOFT_LINK_AVF_FRAMEWORK_IMPORT(MediaAccessibility, MACaptionAppearanceGetDisplayType, MACaptionAppearanceDisplayType, (MACaptionAppearanceDomain domain), (domain))
^
/Volumes/Data/EWS/WebKit/Source/WebCore/page/CaptionUserPreferencesMediaAF.cpp:62:84: note: expanded from macro &apos;SOFT_LINK_AVF_FRAMEWORK_IMPORT&apos;
#define SOFT_LINK_AVF_FRAMEWORK_IMPORT(Lib, Fun, ReturnType, Arguments, Signature) SOFT_LINK(Lib, Fun, ReturnType, Arguments, Signature)
                                                                                   ^
In file included from /Volumes/Data/EWS/WebKit/Source/WebCore/page/CaptionUserPreferencesMediaAF.cpp:39:
/Volumes/Data/EWS/WebKit/Source/WebCore/platform/mac/SoftLinking.h:111:20: note: expanded from macro &apos;SOFT_LINK&apos;
    __attribute__((visibility(&quot;hidden&quot;))) inline resultType functionName parameterDeclarations \
                   ^
In file included from /Volumes/Data/EWS/WebKit/Source/WebCore/page/CaptionUserPreferencesMediaAF.cpp:53:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/System/Library/Frameworks/MediaAccessibility.framework/Headers/MediaAccessibility.h:8:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/System/Library/Frameworks/MediaAccessibility.framework/Headers/MACaptionAppearance.h:212:1: note: previous attribute is here
MA_EXPORT
^
In file included from /Volumes/Data/EWS/WebKit/Source/WebCore/page/CaptionUserPreferencesMediaAF.cpp:53:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/System/Library/Frameworks/MediaAccessibility.framework/Headers/MediaAccessibility.h:7:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/System/Library/Frameworks/MediaAccessibility.framework/Headers/MADefinitions.h:36:29: note: expanded from macro &apos;MA_EXPORT&apos;
#define MA_EXPORT MA_EXTERN MA_VISIBLE
                            ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/System/Library/Frameworks/MediaAccessibility.framework/Headers/MADefinitions.h:27:38: note: expanded from macro &apos;MA_VISIBLE&apos;
#   define MA_VISIBLE __attribute__((visibility (&quot;default&quot;)))
                                     ^</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069311</commentid>
    <comment_count>25</comment_count>
      <attachid>246619</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-15 08:14:25 -0800</bug_when>
    <thetext>Created attachment 246619
CoreText only needs to be soft-linked on Windows</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069312</commentid>
    <comment_count>26</comment_count>
      <attachid>246620</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-15 08:18:29 -0800</bug_when>
    <thetext>Created attachment 246620
CoreText only needs to be soft-linked on Windows v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069321</commentid>
    <comment_count>27</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2015-02-15 12:41:45 -0800</bug_when>
    <thetext>(In reply to comment #24)
&gt; Comment on attachment 246618 [details]
&gt; SOFT_LINK() shoulde hide redeclared function like SOFT_LINK_MAY_FAIL()
&gt; 
&gt; This seems like the correct approach, but the redefinition of the method
&gt; conflicts with at least some methods that set an explicit visibility
&gt; themselves, like MediaAccessibility.framework:

In WebKitSystemInterface we do shenanigans with __AVAILABILITY_INTERNAL_REGULAR in order to prevent symbols declared in other frameworks from having the wrong visibility.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069322</commentid>
    <comment_count>28</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-15 12:45:36 -0800</bug_when>
    <thetext>CoreText only needs to be soft-linked on Windows
Committed r180127: &lt;http://trac.webkit.org/changeset/180127&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069329</commentid>
    <comment_count>29</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-15 15:07:05 -0800</bug_when>
    <thetext>(In reply to comment #27)
&gt; (In reply to comment #24)
&gt; &gt; Comment on attachment 246618 [details]
&gt; &gt; SOFT_LINK() shoulde hide redeclared function like SOFT_LINK_MAY_FAIL()
&gt; &gt; 
&gt; &gt; This seems like the correct approach, but the redefinition of the method
&gt; &gt; conflicts with at least some methods that set an explicit visibility
&gt; &gt; themselves, like MediaAccessibility.framework:
&gt; 
&gt; In WebKitSystemInterface we do shenanigans with
&gt; __AVAILABILITY_INTERNAL_REGULAR in order to prevent symbols declared in
&gt; other frameworks from having the wrong visibility.

I think for that to work reasonably, we&apos;d want to pull out all soft-linked libraries into a stand-alone static library target within the WebCore project.  We&apos;re not going to want to undefine __AVAILABILITY_INTERNAL_REGULAR in WebCorePrefix.h, as that would undermine our own availability macros.  And even if we limited the scope where it is undefined, I don&apos;t think there&apos;s any way to ensure that the headers we want to affect weren&apos;t included by other headers first.  In the case of MediaAccessibility, they have their own MA_EXPORT macro, so we&apos;d be mucking with implementation details that could change at any time.

With so few new or changed soft-linked methods, and this being something we have to do to support older toolchains for a short period of time, it seems like listing the methods in the .unexp file isn&apos;t that burdensome.

A couple other related thoughts:

1. Could a C++ method in the WebCore namespace (say WebCore::AudioConverterNew) take precedence over an extern &quot;C&quot; method so that our redeclared inline method in SOFT_LINK() could be made hidden using __attribute__((visibility(&quot;hidden&quot;))) without the compiler warning us about the ambiguity?  I think this would require an additional #define like this, though, for the remainder of the code:

#define AudioConverterNew(...) WebCore::AudioConverterNew(...)

This does cause a -Wdisabled-macro-expansion warning with clang, but I think that&apos;s only enabled with -Weverything.

Would this technique work with Windows?  I know the current technique doesn&apos;t, and requires macros like this to be defined instead:

#define AudioConverterNew softLink_AudioConverterNew

2. Soft-linking requires static variables and a few small methods be declared for every function.  When soft-linked functions are duplicated between compilation units, it results in duplicate code and a small amount of wasted space (as well as extra static variables that can cause dirty pages, I think).  It would be better if we could pull soft-linked functions into a single source file, and then include a header that would do the magic to use them where they&apos;re needed.

For example, CMTimeCompare is used in these source files:
Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm
Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm

This is kind of similar to the *SPI.h header approach, and I was even wondering whether we could &quot;magically&quot; soft-link functions through *SPI.h headers (as needed/wanted).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069331</commentid>
    <comment_count>30</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-15 15:18:52 -0800</bug_when>
    <thetext>I filed this bug for #2:  Bug 141625: Consolidate duplicate soft-linked functions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069346</commentid>
    <comment_count>31</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-15 18:12:05 -0800</bug_when>
    <thetext>Back out subclass exports and fix one more exported inline function
Committed r180130: &lt;http://trac.webkit.org/changeset/180130&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069367</commentid>
    <comment_count>32</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-15 20:16:21 -0800</bug_when>
    <thetext>Work around the remaining issues to try to get the Mavericks Debug bot green:
Committed r180135:  &lt;http://trac.webkit.org/changeset/180135&gt;

I left a FIXME comment in WebCore.unexp to work on the remaining symbols.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069368</commentid>
    <comment_count>33</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-15 21:05:15 -0800</bug_when>
    <thetext>(In reply to comment #32)
&gt; Work around the remaining issues to try to get the Mavericks Debug bot green:
&gt; Committed r180135:  &lt;http://trac.webkit.org/changeset/180135&gt;
&gt; 
&gt; I left a FIXME comment in WebCore.unexp to work on the remaining symbols.

Okay, this fixed the Mavericks Debug build, so moving to RESOLVED/FIXED.

The GTK Debug build may have broken with this change (or r180134), although there&apos;s not enough information in the stdio log for me to attempt to fix it.  I suspect it&apos;s unrelated, though, as r180135 had changes to files only used on Mac (or iOS):

&lt;https://build.webkit.org/builders/GTK%20Linux%2064-bit%20Debug%20%28Build%29/builds/48444&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069369</commentid>
    <comment_count>34</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-15 21:06:28 -0800</bug_when>
    <thetext>(In reply to comment #33)
&gt; The GTK Debug build may have broken with this change (or r180134), although
&gt; there&apos;s not enough information in the stdio log for me to attempt to fix it.
&gt; I suspect it&apos;s unrelated, though, as r180135 had changes to files only used
&gt; on Mac (or iOS):
&gt; 
&gt; &lt;https://build.webkit.org/builders/GTK%20Linux%2064-
&gt; bit%20Debug%20%28Build%29/builds/48444&gt;

It fixed itself with r180136, so this seems unrelated.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246601</attachid>
            <date>2015-02-14 10:53:53 -0800</date>
            <delta_ts>2015-02-14 12:27:15 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-141607-20150214105350.patch</filename>
            <type>text/plain</type>
            <size>3513</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwMTEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjMzZmZhNTZiZGFiMWUx
NWZlYWFjOGRiOTU0NTdjMTc4NjQ3MjVhOC4uYjNiMWVhYTIyNWYwMGVhNzY1NWUwNTI4MmRlZWVj
ZWIxOGIyYTFjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTAyLTE0ICBEYXZp
ZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjE4
MDA4Mik6IFdlYkNvcmUgRGVidWcgYnVpbGRzIGZhaWwgb24gTW91bnRhaW4gTGlvbiBkdWUgdG8g
d2VhayBleHBvcnQgc3ltYm9scworICAgICAgICA8aHR0cDovL3dlYmtpdC5vcmcvYi8xNDE2MDc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25m
aWd1cmF0aW9ucy9XZWJDb3JlLnVuZXhwOiBBdHRlbXB0IHRvIGZpeCB0aGUgYnVpbGQgYnkKKyAg
ICAgICAgbGlzdGluZyBhbGwgdGhlIHdlYWsgZXhwb3J0IHN5bWJvbHMgZm9yIERlYnVnIGJ1aWxk
cyBvbiBNb3VudGFpbgorICAgICAgICBMaW9uLgorCiAyMDE1LTAyLTE0ICBBbGV4ZXkgUHJvc2t1
cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIHJlbD0ibm9yZWZlcnJlciIgc2hvdWxk
IG1ha2Ugd2luZG93Lm9wZW5lciBudWxsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Db25m
aWd1cmF0aW9ucy9XZWJDb3JlLnVuZXhwIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMv
V2ViQ29yZS51bmV4cAppbmRleCAwM2Y2MzU0MDYzMGFhMmE5NTU0YTIxNzI3MjE0NzYwN2Y4NjU3
MDA1Li44ZWM1ZTY1MTdjMGNmNGZhNDEyMzVlYTk2YmE5MzU1MzcwYTAyMWI4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9XZWJDb3JlLnVuZXhwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL1dlYkNvcmUudW5leHAKQEAgLTE1LDMgKzE1LDY0IEBA
IF9fWlRWTlN0M19fMTE3YmFkX2Z1bmN0aW9uX2NhbGxFCiBfX1pUVk5TdDNfXzExOGJhc2ljX3N0
cmluZ3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFCiBfX1pU
Vk5TdDNfXzExOWJhc2ljX2lzdHJpbmdzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFs
bG9jYXRvckljRUVFRQogX19aVFZOU3QzX18xMTliYXNpY19vc3RyaW5nc3RyZWFtSWNOU18xMWNo
YXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUKKworIyBEZWJ1ZyBidWlsZCB3ZWFrIGV4
cG9ydCBzeW1ib2xzLgorCitfQXVkaW9Db252ZXJ0ZXJDb252ZXJ0Q29tcGxleEJ1ZmZlcgorX0F1
ZGlvQ29udmVydGVyTmV3CitfQ01BdWRpb0RldmljZUNsb2NrQ3JlYXRlCitfQ01CbG9ja0J1ZmZl
ckNvcHlEYXRhQnl0ZXMKK19DTUJsb2NrQnVmZmVyR2V0RGF0YUxlbmd0aAorX0NNRm9ybWF0RGVz
Y3JpcHRpb25HZXRFeHRlbnNpb25zCitfQ01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVyCitfQ01T
YW1wbGVCdWZmZXJHZXRGb3JtYXREZXNjcmlwdGlvbgorX0NNU2FtcGxlQnVmZmVyR2V0U2FtcGxl
VGltaW5nSW5mbworX0NNVGltZUNvbXBhcmUKK19DTVRpbWVHZXRTZWNvbmRzCitfQ01UaW1lTWFr
ZQorX0NNVGltZU1ha2VXaXRoU2Vjb25kcworX0NNVGltZVJhbmdlR2V0RW5kCitfQ01UaW1lYmFz
ZUNyZWF0ZVdpdGhNYXN0ZXJDbG9jaworX0NNVGltZWJhc2VHZXRUaW1lCitfQ01UaW1lYmFzZVNl
dFJhdGUKK19DTVRpbWViYXNlU2V0VGltZQorX0NURm9udERlc2NyaXB0b3JDb3B5QXR0cmlidXRl
CitfQ1ZQaXhlbEJ1ZmZlckdldEJhc2VBZGRyZXNzCitfQ1ZQaXhlbEJ1ZmZlckdldEJ5dGVzUGVy
Um93CitfQ1ZQaXhlbEJ1ZmZlckdldERhdGFTaXplCitfQ1ZQaXhlbEJ1ZmZlckdldEhlaWdodAor
X0NWUGl4ZWxCdWZmZXJHZXRQaXhlbEZvcm1hdFR5cGUKK19DVlBpeGVsQnVmZmVyR2V0V2lkdGgK
K19DVlBpeGVsQnVmZmVyTG9ja0Jhc2VBZGRyZXNzCitfQ1ZQaXhlbEJ1ZmZlclVubG9ja0Jhc2VB
ZGRyZXNzCitfTUFDYXB0aW9uQXBwZWFyYW5jZUFkZFNlbGVjdGVkTGFuZ3VhZ2UKK19NQUNhcHRp
b25BcHBlYXJhbmNlQ29weUJhY2tncm91bmRDb2xvcgorX01BQ2FwdGlvbkFwcGVhcmFuY2VDb3B5
Rm9udERlc2NyaXB0b3JGb3JTdHlsZQorX01BQ2FwdGlvbkFwcGVhcmFuY2VDb3B5Rm9yZWdyb3Vu
ZENvbG9yCitfTUFDYXB0aW9uQXBwZWFyYW5jZUNvcHlQcmVmZXJyZWRDYXB0aW9uaW5nTWVkaWFD
aGFyYWN0ZXJpc3RpY3MKK19NQUNhcHRpb25BcHBlYXJhbmNlQ29weVNlbGVjdGVkTGFuZ3VhZ2Vz
CitfTUFDYXB0aW9uQXBwZWFyYW5jZUNvcHlXaW5kb3dDb2xvcgorX01BQ2FwdGlvbkFwcGVhcmFu
Y2VHZXRCYWNrZ3JvdW5kT3BhY2l0eQorX01BQ2FwdGlvbkFwcGVhcmFuY2VHZXREaXNwbGF5VHlw
ZQorX01BQ2FwdGlvbkFwcGVhcmFuY2VHZXRGb3JlZ3JvdW5kT3BhY2l0eQorX01BQ2FwdGlvbkFw
cGVhcmFuY2VHZXRSZWxhdGl2ZUNoYXJhY3RlclNpemUKK19NQUNhcHRpb25BcHBlYXJhbmNlR2V0
VGV4dEVkZ2VTdHlsZQorX01BQ2FwdGlvbkFwcGVhcmFuY2VHZXRXaW5kb3dPcGFjaXR5CitfTUFD
YXB0aW9uQXBwZWFyYW5jZUdldFdpbmRvd1JvdW5kZWRDb3JuZXJSYWRpdXMKK19NQUNhcHRpb25B
cHBlYXJhbmNlU2V0RGlzcGxheVR5cGUKK19NVEF1ZGlvUHJvY2Vzc2luZ1RhcEdldFNvdXJjZUF1
ZGlvCitfTVRBdWRpb1Byb2Nlc3NpbmdUYXBHZXRTdG9yYWdlCitfVlRQaXhlbFRyYW5zZmVyU2Vz
c2lvbkNyZWF0ZQorX1ZUUGl4ZWxUcmFuc2ZlclNlc3Npb25UcmFuc2ZlckltYWdlCitfX1pOM0pT
QzE0SlNHbG9iYWxPYmplY3QxNnNldENvbnNvbGVDbGllbnRFUE5TXzEzQ29uc29sZUNsaWVudEUK
K19fWk43V2ViQ29yZTE5RHJhZ0NhcmV0Q29udHJvbGxlcjVjbGVhckV2CitfX1pON1dlYkNvcmU0
dG9KU0VQTjNKU0M5RXhlY1N0YXRlRVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RVBOU184Tm9kZUxp
c3RFCitfX1pON1dlYkNvcmU1RXZlbnQ2Y3JlYXRlRVJLTjNXVEYxMkF0b21pY1N0cmluZ0ViYgor
X19aTjdXZWJDb3JlOERvY3VtZW50MjRzZXRBbm5vdGF0ZWRSZWdpb25zRGlydHlFYgorX19aTjdX
ZWJDb3JlOFBvc2l0aW9uQzFFdgorX19aTjdXZWJDb3JlOFBvc2l0aW9uQzJFdgorX19aTkszSlND
N0pTVmFsdWU3dG9GbG9hdEVQTlNfOUV4ZWNTdGF0ZUUKK19fWk5LN1dlYkNvcmUxNFJlc291cmNl
TG9hZGVyMTVvcmlnaW5hbFJlcXVlc3RFdgorX19aTks3V2ViQ29yZTROb2RlMTZoYXNFZGl0YWJs
ZVN0eWxlRU5TXzEyRWRpdGFibGVUeXBlRU5TMF8yMlVzZXJTZWxlY3RBbGxUcmVhdG1lbnRFCitf
X1pUVk45SW5zcGVjdG9yMTdTY3JpcHREZWJ1Z1NlcnZlcjRUYXNrRQorX19aVFZOOUluc3BlY3Rv
cjIySW5zcGVjdG9yRGVidWdnZXJBZ2VudDhMaXN0ZW5lckUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246613</attachid>
            <date>2015-02-14 20:25:15 -0800</date>
            <delta_ts>2015-02-15 20:14:27 -0800</delta_ts>
            <desc>Patch #2 v1</desc>
            <filename>bug-141607-20150214202511.patch</filename>
            <type>text/plain</type>
            <size>12631</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwMTE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
MzIwMzk3NjE5MDBhYmVhZjM3MDViOWNiZGVjNzNjZGI0MjYwMWQxLi5kZGNiODcyODU2YWM2NmUw
OWQ0ZDE2YzU3NjBlMDY4ZTk3ZDU4NWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTMs
NiArMywyMiBAQAogICAgICAgICBSRUdSRVNTSU9OIChyMTgwMDgyKTogV2ViQ29yZSBEZWJ1ZyBi
dWlsZHMgZmFpbCBvbiBNYXZlcmlja3MgZHVlIHRvIHdlYWsgZXhwb3J0IHN5bWJvbHMKICAgICAg
ICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvMTQxNjA3PgogCisgICAgICAgIE1vcmUgd29yayB0b3dh
cmRzIGZpeGluZyB0aGUgTWF2ZXJpY2tzIERlYnVnIGJ1aWxkLgorCisgICAgICAgICogaW5zcGVj
dG9yL1NjcmlwdERlYnVnU2VydmVyLmg6CisgICAgICAgIChJbnNwZWN0b3I6OlNjcmlwdERlYnVn
U2VydmVyOjpUYXNrKToKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRlYnVn
Z2VyQWdlbnQuaDoKKyAgICAgICAgKEluc3BlY3Rvcjo6SW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6
TGlzdGVuZXIpOgorICAgICAgICAtIFJlbW92ZSBzdWJjbGFzcyBleHBvcnRzLiBUaGV5IGRpZCBu
b3QgaGVscC4KKworICAgICAgICAqIHJ1bnRpbWUvSlNDSlNWYWx1ZS5oOgorICAgICAgICAoSlND
OjpKU1ZhbHVlOjp0b0Zsb2F0KTogRG8gbm90IG1hcmsgaW5saW5lIG1ldGhvZCBmb3IgZXhwb3J0
LgorCisyMDE1LTAyLTE0ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAg
ICAgICAgUkVHUkVTU0lPTiAocjE4MDA4Mik6IFdlYkNvcmUgRGVidWcgYnVpbGRzIGZhaWwgb24g
TWF2ZXJpY2tzIGR1ZSB0byB3ZWFrIGV4cG9ydCBzeW1ib2xzCisgICAgICAgIDxodHRwOi8vd2Vi
a2l0Lm9yZy9iLzE0MTYwNz4KKwogICAgICAgICBXb3JrIHRvd2FyZHMgZml4aW5nIHRoZSBNYXZl
cmlja3MgRGVidWcgYnVpbGQuCiAKICAgICAgICAgKiBpbnNwZWN0b3IvU2NyaXB0RGVidWdTZXJ2
ZXIuaDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCAwNTQ2YWY5OGQ0NDI2NmM5ZWIyZjA0OGI2ZWU5MTYyMzNkMTZl
NzVjLi44YzUyZDA2ZTZmOTcxYWQwNGJkYzI5ZTUwODY3M2Q5MDI5OTU2YjY2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0zLDYgKzMsMTcgQEAKICAgICAgICAgUkVHUkVTU0lPTiAocjE4MDA4Mik6IFdlYkNvcmUg
RGVidWcgYnVpbGRzIGZhaWwgb24gTWF2ZXJpY2tzIGR1ZSB0byB3ZWFrIGV4cG9ydCBzeW1ib2xz
CiAgICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzE0MTYwNz4KIAorICAgICAgICBNb3JlIHdv
cmsgdG93YXJkcyBmaXhpbmcgdGhlIE1hdmVyaWNrcyBEZWJ1ZyBidWlsZC4KKworICAgICAgICAq
IENvbmZpZ3VyYXRpb25zL1dlYkNvcmUudW5leHA6IEFkZCB3ZWFrIGV4dGVybmFscyB3aXRoIGEg
RklYTUUKKyAgICAgICAgc3RhdGVtZW50IHNvIHRoZXkgY2FuIGJlIHJlbW92ZWQgbGF0ZXIuICBJ
dCdzIG1vcmUgaW1wb3J0YW50IHRvCisgICAgICAgIGZpeCB0aGUgYnVpbGQgZmlyc3QuCisKKzIw
MTUtMDItMTQgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKworICAgICAgICBS
RUdSRVNTSU9OIChyMTgwMDgyKTogV2ViQ29yZSBEZWJ1ZyBidWlsZHMgZmFpbCBvbiBNYXZlcmlj
a3MgZHVlIHRvIHdlYWsgZXhwb3J0IHN5bWJvbHMKKyAgICAgICAgPGh0dHA6Ly93ZWJraXQub3Jn
L2IvMTQxNjA3PgorCiAgICAgICAgIFdvcmsgdG93YXJkcyBmaXhpbmcgdGhlIE1hdmVyaWNrcyBE
ZWJ1ZyBidWlsZC4KIAogICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHREZWJ1Z1NlcnZlci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9TY3JpcHREZWJ1Z1NlcnZlci5oCmluZGV4IDNlNDhj
ZDA5ZTBjOWVmY2UwNjcxZmUwYmI1ZmM2OTJkNTMxMGQwNTUuLjI5N2ViMzE5OWQ3NjIxZjY0MDE4
N2M2YzRjNmNiNzM4NjIyNGRlMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvU2NyaXB0RGVidWdTZXJ2ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL1NjcmlwdERlYnVnU2VydmVyLmgKQEAgLTYwLDcgKzYwLDcgQEAgcHVibGljOgog
CiAgICAgY29uc3QgQnJlYWtwb2ludEFjdGlvbnMmIGdldEFjdGlvbnNGb3JCcmVha3BvaW50KEpT
Qzo6QnJlYWtwb2ludElEKTsKIAotICAgIGNsYXNzIEpTX0VYUE9SVF9QUklWQVRFIFRhc2sgewor
ICAgIGNsYXNzIFRhc2sgewogICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBw
dWJsaWM6CiAgICAgICAgIHZpcnR1YWwgflRhc2soKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRlYnVnZ2Vy
QWdlbnQuaAppbmRleCA5MTY1ZWNmMmM3ZTU2N2MwOGVjYTkyYzhlNTIxOTk4OTY3NjM1OTMyLi45
YmUzMjMzMTUxMDk0NTU4NzhiMDFjMzRiMDYxOGM1NjM4MTQ0NTJjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9y
RGVidWdnZXJBZ2VudC5oCkBAIC05Niw3ICs5Niw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGJyZWFr
UHJvZ3JhbShJbnNwZWN0b3JEZWJ1Z2dlckZyb250ZW5kRGlzcGF0Y2hlcjo6UmVhc29uIGJyZWFr
UmVhc29uLCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiYmIGRhdGEpOwogICAgIHZvaWQgc2NyaXB0
RXhlY3V0aW9uQmxvY2tlZEJ5Q1NQKGNvbnN0IFN0cmluZyYgZGlyZWN0aXZlVGV4dCk7CiAKLSAg
ICBjbGFzcyBKU19FWFBPUlRfUFJJVkFURSBMaXN0ZW5lciB7CisgICAgY2xhc3MgTGlzdGVuZXIg
ewogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+TGlzdGVuZXIoKSB7IH0KICAgICAgICAg
dmlydHVhbCB2b2lkIGRlYnVnZ2VyV2FzRW5hYmxlZCgpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuaAppbmRleCBmYTZiYmE1NmMzZTg0NjA2ODJlN2FkZjAz
MmE2NDhkZThlMzk1NjMzLi5hY2FiM2ZhNjI0MGExMTEyYWExMGUyOTMxZTZmZGMxMTVhMDNiZGYx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5oCkBAIC0yNTcs
NyArMjU3LDcgQEAgcHVibGljOgogCiAgICAgLy8gRmxvYXRpbmcgcG9pbnQgY29udmVyc2lvbnMg
KHRoaXMgaXMgYSBjb252ZW5pZW5jZSBtZXRob2QgZm9yIHdlYmNvcmU7CiAgICAgLy8gc2lnbmxl
IHByZWNpc2lvbiBmbG9hdCBpcyBub3QgYSByZXByZXNlbnRhdGlvbiB1c2VkIGluIEpTIG9yIEpT
QykuCi0gICAgSlNfRVhQT1JUX1BSSVZBVEUgZmxvYXQgdG9GbG9hdChFeGVjU3RhdGUqIGV4ZWMp
IGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PGZsb2F0Pih0b051bWJlcihleGVjKSk7IH0KKyAg
ICBmbG9hdCB0b0Zsb2F0KEV4ZWNTdGF0ZSogZXhlYykgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nh
c3Q8ZmxvYXQ+KHRvTnVtYmVyKGV4ZWMpKTsgfQogCiAgICAgLy8gT2JqZWN0IG9wZXJhdGlvbnMs
IHdpdGggdGhlIHRvT2JqZWN0IG9wZXJhdGlvbiBpbmNsdWRlZC4KICAgICBKU1ZhbHVlIGdldChF
eGVjU3RhdGUqLCBQcm9wZXJ0eU5hbWUpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ29uZmlndXJhdGlvbnMvV2ViQ29yZS51bmV4cCBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3Vy
YXRpb25zL1dlYkNvcmUudW5leHAKaW5kZXggMDNmNjM1NDA2MzBhYTJhOTU1NGEyMTcyNzIxNDc2
MDdmODY1NzAwNS4uZDBhZTdiZWUyNTY0Y2JiZjViZjE1ODgzN2NkNjVlY2QyMmM2MjVkZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvV2ViQ29yZS51bmV4cAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9XZWJDb3JlLnVuZXhwCkBAIC0xNSwzICsx
NSw3OCBAQCBfX1pUVk5TdDNfXzExN2JhZF9mdW5jdGlvbl9jYWxsRQogX19aVFZOU3QzX18xMThi
YXNpY19zdHJpbmdzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVF
RQogX19aVFZOU3QzX18xMTliYXNpY19pc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNF
RU5TXzlhbGxvY2F0b3JJY0VFRUUKIF9fWlRWTlN0M19fMTE5YmFzaWNfb3N0cmluZ3N0cmVhbUlj
TlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFCisKKyMgRklYTUU6IFRoZSBm
b2xsb3dpbmcgc3ltYm9scyBvbmx5IGFwcGVhciBpbiBEZWJ1ZyBidWlsZHMgd2l0aCBYY29kZSA1
LjAueC4KKyMgVGhleSBzaG91bGQgYmUgcmVtb3ZlZCBhZnRlciBkZXRlcm1pbmluZyBob3cgdG8g
cmVtb3ZlIHRoZSB3ZWFrIGV4dGVybmFscy4KKworIyBTb2Z0LWxpbmtlZCBmdW5jdGlvbnMgaW4g
c291cmNlIGZpbGVzLiAgTW9zdCBhcmUgcHJvYmFibHkgbWlzc2luZyBleHBvcnQKKyMgZGVjbGFy
YXRpb25zIGluICpTUEkuaCBoZWFkZXJzLgorIyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vQXVkaW9Tb3VyY2VQcm92aWRlckFWRk9iakMubW0KK19BdWRpb0Nv
bnZlcnRlckNvbnZlcnRDb21wbGV4QnVmZmVyCitfQXVkaW9Db252ZXJ0ZXJOZXcKK19DTVRpbWVi
YXNlR2V0VGltZQorX01UQXVkaW9Qcm9jZXNzaW5nVGFwR2V0U291cmNlQXVkaW8KK19NVEF1ZGlv
UHJvY2Vzc2luZ1RhcEdldFN0b3JhZ2UKKworIyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
UGxhdGZvcm1DbG9ja0NNLm1tCitfQ01BdWRpb0RldmljZUNsb2NrQ3JlYXRlCitfQ01UaW1lR2V0
U2Vjb25kcworX0NNVGltZWJhc2VDcmVhdGVXaXRoTWFzdGVyQ2xvY2sKK19DTVRpbWViYXNlU2V0
UmF0ZQorX0NNVGltZWJhc2VTZXRUaW1lCisKKyMgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL0luYmFuZFRleHRUcmFja1ByaXZhdGVBVkYuY3BwCitfQ01CbG9j
a0J1ZmZlckNvcHlEYXRhQnl0ZXMKK19DTUJsb2NrQnVmZmVyR2V0RGF0YUxlbmd0aAorX0NNRm9y
bWF0RGVzY3JpcHRpb25HZXRFeHRlbnNpb25zCitfQ01TYW1wbGVCdWZmZXJHZXREYXRhQnVmZmVy
CitfQ01TYW1wbGVCdWZmZXJHZXRGb3JtYXREZXNjcmlwdGlvbgorX0NNU2FtcGxlQnVmZmVyR2V0
U2FtcGxlVGltaW5nSW5mbworCisjIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L21hYy9BVlZpZGVvQ2FwdHVyZVNvdXJjZS5tbQorX0NNVGltZUNvbXBhcmUKK19DTVRpbWVNYWtl
CisKKyMgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVy
ZmFjZUFWS2l0Lm1tCitfQ01UaW1lTWFrZVdpdGhTZWNvbmRzCitfQ01UaW1lUmFuZ2VHZXRFbmQK
KworIyBTb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNw
cAorX0NURm9udERlc2NyaXB0b3JDb3B5QXR0cmlidXRlCitfTUFDYXB0aW9uQXBwZWFyYW5jZUFk
ZFNlbGVjdGVkTGFuZ3VhZ2UKK19NQUNhcHRpb25BcHBlYXJhbmNlQ29weUJhY2tncm91bmRDb2xv
cgorX01BQ2FwdGlvbkFwcGVhcmFuY2VDb3B5Rm9udERlc2NyaXB0b3JGb3JTdHlsZQorX01BQ2Fw
dGlvbkFwcGVhcmFuY2VDb3B5Rm9yZWdyb3VuZENvbG9yCitfTUFDYXB0aW9uQXBwZWFyYW5jZUNv
cHlQcmVmZXJyZWRDYXB0aW9uaW5nTWVkaWFDaGFyYWN0ZXJpc3RpY3MKK19NQUNhcHRpb25BcHBl
YXJhbmNlQ29weVNlbGVjdGVkTGFuZ3VhZ2VzCitfTUFDYXB0aW9uQXBwZWFyYW5jZUNvcHlXaW5k
b3dDb2xvcgorX01BQ2FwdGlvbkFwcGVhcmFuY2VHZXRCYWNrZ3JvdW5kT3BhY2l0eQorX01BQ2Fw
dGlvbkFwcGVhcmFuY2VHZXREaXNwbGF5VHlwZQorX01BQ2FwdGlvbkFwcGVhcmFuY2VHZXRGb3Jl
Z3JvdW5kT3BhY2l0eQorX01BQ2FwdGlvbkFwcGVhcmFuY2VHZXRSZWxhdGl2ZUNoYXJhY3RlclNp
emUKK19NQUNhcHRpb25BcHBlYXJhbmNlR2V0VGV4dEVkZ2VTdHlsZQorX01BQ2FwdGlvbkFwcGVh
cmFuY2VHZXRXaW5kb3dPcGFjaXR5CitfTUFDYXB0aW9uQXBwZWFyYW5jZUdldFdpbmRvd1JvdW5k
ZWRDb3JuZXJSYWRpdXMKK19NQUNhcHRpb25BcHBlYXJhbmNlU2V0RGlzcGxheVR5cGUKKworIyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCitfQ1ZQaXhlbEJ1ZmZlckdldEJhc2VBZGRy
ZXNzCitfQ1ZQaXhlbEJ1ZmZlckdldEJ5dGVzUGVyUm93CitfQ1ZQaXhlbEJ1ZmZlckdldERhdGFT
aXplCitfQ1ZQaXhlbEJ1ZmZlckdldEhlaWdodAorX0NWUGl4ZWxCdWZmZXJHZXRQaXhlbEZvcm1h
dFR5cGUKK19DVlBpeGVsQnVmZmVyR2V0V2lkdGgKK19DVlBpeGVsQnVmZmVyTG9ja0Jhc2VBZGRy
ZXNzCitfQ1ZQaXhlbEJ1ZmZlclVubG9ja0Jhc2VBZGRyZXNzCitfVlRQaXhlbFRyYW5zZmVyU2Vz
c2lvbkNyZWF0ZQorX1ZUUGl4ZWxUcmFuc2ZlclNlc3Npb25UcmFuc2ZlckltYWdlCisKKyMgRnVu
Y3Rpb24gbWFya2VkIEFMV0FZU19JTkxJTkUgaW4gaGVhZGVyLgorIyBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU05vZGVMaXN0Q3VzdG9tLmgKK19fWk43V2ViQ29yZTR0b0pTRVBOM0pTQzlF
eGVjU3RhdGVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFUE5TXzhOb2RlTGlzdEUKKworIyBTdWJj
bGFzc2VzIG9mIGFuIGV4cG9ydGVkIGNsYXNzIGluIEphdmFTY3JpcHRDb3JlLgorIyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL1NjcmlwdERlYnVnU2VydmVyLmgKK19fWlRWTjlJbnNw
ZWN0b3IxN1NjcmlwdERlYnVnU2VydmVyNFRhc2tFCisjIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaAorX19aVFZOOUluc3BlY3Rv
cjIySW5zcGVjdG9yRGVidWdnZXJBZ2VudDhMaXN0ZW5lckUKZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAwNjJlNjJhZGFkYjM2YmQ4NTAxNWU3ODZm
MWM3NTNiZWIxNDM3MmFmLi5jNTJjYzNhZTk3NzUzNGQzMjhlNjVmMDBkZWQxMDhjYTI3YzRjYjc0
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMTUtMDItMTQgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNv
bT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMTgwMDgyKTogV2ViQ29yZSBEZWJ1ZyBidWlsZHMg
ZmFpbCBvbiBNYXZlcmlja3MgZHVlIHRvIHdlYWsgZXhwb3J0IHN5bWJvbHMKKyAgICAgICAgPGh0
dHA6Ly93ZWJraXQub3JnL2IvMTQxNjA3PgorCisgICAgICAgIE1vcmUgd29yayB0b3dhcmRzIGZp
eGluZyB0aGUgTWF2ZXJpY2tzIERlYnVnIGJ1aWxkLgorCisgICAgICAgICogU2NyaXB0cy9jaGVj
ay1mb3Itd2Vhay12dGFibGVzLWFuZC1leHRlcm5hbHM6IElnbm9yZSB3ZWFrCisgICAgICAgIGV4
dGVybmFscyBpbiBTb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9XZWJDb3JlLnVuZXhwIHdo
ZW4KKyAgICAgICAgYnVpbGRpbmcgd2l0aCBYY29kZSA1LjAueC4KKyAgICAgICAgKHJlYWRYY29k
ZTVTeW1ib2xzVG9JZ25vcmUpOiBBZGQuCisKIDIwMTUtMDItMTQgIENzYWJhIE9zenRyb2dvbsOh
YyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBbYnVpbGRib3RdIEVuYWJsZSBydW4tYXBp
LXRlc3RzIG9uIHJlbGVhc2UgTWFjIGJvdHMKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvY2hl
Y2stZm9yLXdlYWstdnRhYmxlcy1hbmQtZXh0ZXJuYWxzIGIvVG9vbHMvU2NyaXB0cy9jaGVjay1m
b3Itd2Vhay12dGFibGVzLWFuZC1leHRlcm5hbHMKaW5kZXggOWQ0N2QwMzEzYTRlM2Q2YzAyNWZk
MWEyNDEwZTI1MDM1YzU5NDc4Mi4uMDRjY2QwNmM5MjA3YTBlZWI0ZDY1ZDRmNjU0ZjUzYzM5MzFi
M2FmOCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9jaGVjay1mb3Itd2Vhay12dGFibGVzLWFu
ZC1leHRlcm5hbHMKKysrIGIvVG9vbHMvU2NyaXB0cy9jaGVjay1mb3Itd2Vhay12dGFibGVzLWFu
ZC1leHRlcm5hbHMKQEAgLTEsMzAgKzEsMjYgQEAKICMhL3Vzci9iaW4vcGVybAogCi0jIENvcHly
aWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisjIENvcHlyaWdodCAoQykgMjAwNi0yMDA4LCAyMDEwLCAyMDE1IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAjIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwogIyBhcmUg
bWV0OgotIwogIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisjICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAjIDIuICBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAogIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQotIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCi0jIDMuICBOZWl0aGVy
IHRoZSBuYW1lIG9mIEFwcGxlIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKLSMgICAg
IGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQKLSMgICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4gCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogIwotIyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWQorIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKICMgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAogIyBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFCi0jIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElU
UyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
CiAjIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTCiAjIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSMgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5ECi0jIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0jIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotIyBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorIyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyMgQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMKKyMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKICMgImNoZWNrLWZvci13ZWFrLXZ0YWJsZXMtYW5kLWV4
dGVybmFscyIgc2NyaXB0IGZvciBXZWJLaXQgT3BlbiBTb3VyY2UgUHJvamVjdAogCkBAIC0zNSw3
ICszMSwxMiBAQCB1c2Ugd2FybmluZ3M7CiB1c2Ugc3RyaWN0OwogCiB1c2UgRmlsZTo6QmFzZW5h
bWU7Cit1c2UgRmlsZTo6U3BlYzsKK3VzZSBGaW5kQmluOwordXNlIGxpYiAkRmluZEJpbjo6Qmlu
OwordXNlIHdlYmtpdGRpcnM7CiAKK3N1YiByZWFkWGNvZGU1U3ltYm9sc1RvSWdub3JlKCk7CiBz
dWIgdG91Y2goJCk7CiAKIG15ICRhcmNoID0gJEVOVnsnQ1VSUkVOVF9BUkNIJ307CkBAIC02NCw2
ICs2NSw4IEBAIGlmICghZGVmaW5lZCAkZXhlY3V0YWJsZVBhdGhBZ2UgfHwgIWRlZmluZWQgJGJ1
aWxkVGltZXN0YW1wQWdlIHx8ICRleGVjdXRhYmxlUGF0CiAgICAgfQogICAgIG15IEB3ZWFrVlRh
YmxlQ2xhc3NlcyA9ICgpOwogICAgIG15IEB3ZWFrRXh0ZXJuYWxTeW1ib2xzID0gKCk7CisgICAg
bXkgJGlzWGNvZGU1MDAgPSAkRU5WeydYQ09ERV9WRVJTSU9OX01JTk9SJ30gZXEgIjA1MDAiOwor
ICAgIG15ICRpZ25vcmVYY29kZTVTeW1ib2xzUmVnZXggPSAkaXNYY29kZTUwMCA/ICIoIiAuIGpv
aW4oInwiLCBncmVwKHF1b3RlbWV0YSgkXyksIHJlYWRYY29kZTVTeW1ib2xzVG9JZ25vcmUoKSkp
IC4gIikiIDogdW5kZWY7CiAgICAgd2hpbGUgKDxOTT4pIHsKICAgICAgICAgaWYgKC9eU1RET1VU
Oi8pIHsKICAgICAgICAgICAgICMgSWdub3JlIHVuZGVmaW5lZCwgUlRUSSBhbmQgdHlwZWluZm8g
c3ltYm9scy4KQEAgLTcyLDYgKzc1LDkgQEAgaWYgKCFkZWZpbmVkICRleGVjdXRhYmxlUGF0aEFn
ZSB8fCAhZGVmaW5lZCAkYnVpbGRUaW1lc3RhbXBBZ2UgfHwgJGV4ZWN1dGFibGVQYXQKICAgICAg
ICAgICAgICMgQVNhbiBjb21waWxlci1ydCBjYWxscyBpbnRvIF9fYXNhbl9tYXBwaW5nX29mZnNl
dCBhbmQgX19hc2FuX21hcHBpbmdfc2NhbGUKICAgICAgICAgICAgIG5leHQgaWYgL1xiX19fYXNh
bi87CiAKKyAgICAgICAgICAgICMgU3ltYm9scyB0aGF0IG5lZWQgdG8gYmUgaWdub3JlZCB3aGVu
IGJ1aWxkaW5nIHdpdGggWGNvZGUgNS4wLnguCisgICAgICAgICAgICBuZXh0IGlmICRpc1hjb2Rl
NTAwICYmIC9cYiR7aWdub3JlWGNvZGU1U3ltYm9sc1JlZ2V4fVxiLzsKKwogICAgICAgICAgICAg
aWYgKC93ZWFrIGV4dGVybmFsIHZ0YWJsZSBmb3IgKC4qKSQvKSB7CiAgICAgICAgICAgICAgICAg
cHVzaCBAd2Vha1ZUYWJsZUNsYXNzZXMsICQxOwogICAgICAgICAgICAgfSBlbHNpZiAoL3dlYWsg
ZXh0ZXJuYWwgKC4qKSQvKSB7CkBAIC0xMTUsNiArMTIxLDI0IEBAIHRvdWNoKCRidWlsZFRpbWVz
dGFtcFBhdGgpOwogCiBleGl0IDA7CiAKK3N1YiByZWFkWGNvZGU1U3ltYm9sc1RvSWdub3JlKCkK
K3sKKyAgICBteSAkdW5leHBvcnRGaWxlID0gIlNvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25z
L1dlYkNvcmUudW5leHAiOworCisgICAgb3BlbihTWU1CT0xTLCBGaWxlOjpTcGVjLT5jYXRmaWxl
KHNvdXJjZURpcigpLCAkdW5leHBvcnRGaWxlKSkgb3IgZGllICIkISI7CisKKyAgICBteSBAcmVz
dWx0OworICAgIHdoaWxlICg8U1lNQk9MUz4pIHsKKyAgICAgICAgcy8jLiokLy87CisgICAgICAg
IHMvXlxzK3xccyskLy9nOworICAgICAgICBwdXNoKEByZXN1bHQsICRfKSBpZiAkXzsKKyAgICB9
CisKKyAgICBjbG9zZShTWU1CT0xTKTsKKworICAgIHJldHVybiBAcmVzdWx0OworfQorCiBzdWIg
dG91Y2goJCkKIHsKICAgICBteSAoJHBhdGgpID0gQF87Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246615</attachid>
            <date>2015-02-14 20:41:37 -0800</date>
            <delta_ts>2015-02-14 21:22:24 -0800</delta_ts>
            <desc>Try declaring soft-linked functions with extern &quot;C&quot; linkage</desc>
            <filename>bug-141607-20150214204134.patch</filename>
            <type>text/plain</type>
            <size>2422</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwMTE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGM1MmQwNmU2Zjk3MWFk
MDRiZGMyOWU1MDg2NzNkOTAyOTk1NmI2Ni4uYmE5MWFkZTExNzljYTA1NDIzNmNlNzdiNmQ5ZmNh
OWQ4YjAyZmZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE3IEBACiAyMDE1LTAyLTE0ICBEYXZp
ZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKKyAgICAgICAgRGVjbGFyZSBzb2Z0LWxp
bmtlZCBmdW5jdGlvbnMgYXMgZXh0ZXJuICJDIiBsaW5rYWdlCisKKyAgICAgICAgUGFydCBvZiB0
aGUgZml4IGZvcjoKKworICAgICAgICBSRUdSRVNTSU9OIChyMTgwMDgyKTogV2ViQ29yZSBEZWJ1
ZyBidWlsZHMgZmFpbCBvbiBNYXZlcmlja3MgZHVlIHRvIHdlYWsgZXhwb3J0IHN5bWJvbHMKKyAg
ICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvMTQxNjA3PgorCisgICAgICAgICogcGxhdGZvcm0v
bWFjL1NvZnRMaW5raW5nLmg6IERlY2xhcmUgZnVuY3Rpb25zIHdpdGggZXh0ZXJuICJDIgorICAg
ICAgICBsaW5rYWdlIHRvIG1ha2Ugc3VyZSB0aGV5IGRvbid0IGFwcGVhciBhcyB3ZWFrIGV4dGVy
bmFscy4KKworMjAxNS0wMi0xNCAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgor
CiAgICAgICAgIFJFR1JFU1NJT04gKHIxODAwODIpOiBXZWJDb3JlIERlYnVnIGJ1aWxkcyBmYWls
IG9uIE1hdmVyaWNrcyBkdWUgdG8gd2VhayBleHBvcnQgc3ltYm9scwogICAgICAgICA8aHR0cDov
L3dlYmtpdC5vcmcvYi8xNDE2MDc+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21hYy9Tb2Z0TGlua2luZy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NvZnRM
aW5raW5nLmgKaW5kZXggYzEyNWNmMDQ4N2QzNGEyZWEwZGFjMTI1NWIwOWFjMTk1ZDNjNzhjNC4u
NmQzZTQzZGI2YzI5ZWNjMWVjM2E0MWIzNDMyNjgxOWZkODE3MjY5YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NvZnRMaW5raW5nLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1NvZnRMaW5raW5nLmgKQEAgLTk1LDYgKzk1LDkgQEAKICAgICB9CiAK
ICNkZWZpbmUgU09GVF9MSU5LKGZyYW1ld29yaywgZnVuY3Rpb25OYW1lLCByZXN1bHRUeXBlLCBw
YXJhbWV0ZXJEZWNsYXJhdGlvbnMsIHBhcmFtZXRlck5hbWVzKSBcCisgICAgV1RGX0VYVEVSTl9D
X0JFR0lOIFwKKyAgICByZXN1bHRUeXBlIGZ1bmN0aW9uTmFtZSBwYXJhbWV0ZXJEZWNsYXJhdGlv
bnMgOyBcCisgICAgV1RGX0VYVEVSTl9DX0VORCBcCiAgICAgc3RhdGljIHJlc3VsdFR5cGUgaW5p
dCMjZnVuY3Rpb25OYW1lIHBhcmFtZXRlckRlY2xhcmF0aW9uczsgXAogICAgIHN0YXRpYyByZXN1
bHRUeXBlICgqc29mdExpbmsjI2Z1bmN0aW9uTmFtZSkgcGFyYW1ldGVyRGVjbGFyYXRpb25zID0g
aW5pdCMjZnVuY3Rpb25OYW1lOyBcCiAgICAgXApAQCAtMTExLDYgKzExNCw5IEBACiAgICAgfQog
CiAjZGVmaW5lIFNPRlRfTElOS19NQVlfRkFJTChmcmFtZXdvcmssIGZ1bmN0aW9uTmFtZSwgcmVz
dWx0VHlwZSwgcGFyYW1ldGVyRGVjbGFyYXRpb25zLCBwYXJhbWV0ZXJOYW1lcykgXAorICAgIFdU
Rl9FWFRFUk5fQ19CRUdJTiBcCisgICAgcmVzdWx0VHlwZSBmdW5jdGlvbk5hbWUgcGFyYW1ldGVy
RGVjbGFyYXRpb25zIDsgXAorICAgIFdURl9FWFRFUk5fQ19FTkQgXAogICAgIHN0YXRpYyByZXN1
bHRUeXBlICgqc29mdExpbmsjI2Z1bmN0aW9uTmFtZSkgcGFyYW1ldGVyRGVjbGFyYXRpb25zID0g
MDsgXAogICAgIFwKICAgICBzdGF0aWMgYm9vbCBpbml0IyNmdW5jdGlvbk5hbWUoKSBcCkBAIC0x
MzQsNiArMTQwLDkgQEAKIAogLyogY2FsbGluZ0NvbnZlbnRpb24gaXMgdW51c2VkIG9uIE1hYyBi
dXQgaXMgaGVyZSB0byBrZWVwIHRoZSBtYWNybyBwcm90b3R5cGUgdGhlIHNhbWUgYmV0d2VlbiBN
YWMgYW5kIFdpbmRvd3MuICovCiAjZGVmaW5lIFNPRlRfTElOS19PUFRJT05BTChmcmFtZXdvcmss
IGZ1bmN0aW9uTmFtZSwgcmVzdWx0VHlwZSwgY2FsbGluZ0NvbnZlbnRpb24sIHBhcmFtZXRlckRl
Y2xhcmF0aW9ucykgXAorICAgIFdURl9FWFRFUk5fQ19CRUdJTiBcCisgICAgcmVzdWx0VHlwZSBm
dW5jdGlvbk5hbWUgcGFyYW1ldGVyRGVjbGFyYXRpb25zIDsgXAorICAgIFdURl9FWFRFUk5fQ19F
TkQgXAogICAgIHR5cGVkZWYgcmVzdWx0VHlwZSAoKmZ1bmN0aW9uTmFtZSMjUHRyVHlwZSkgcGFy
YW1ldGVyRGVjbGFyYXRpb25zOyBcCiAgICAgXAogICAgIHN0YXRpYyBmdW5jdGlvbk5hbWUjI1B0
clR5cGUgZnVuY3Rpb25OYW1lIyNQdHIoKSBcCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246618</attachid>
            <date>2015-02-15 03:55:36 -0800</date>
            <delta_ts>2015-02-15 20:13:52 -0800</delta_ts>
            <desc>SOFT_LINK() shoulde hide redeclared function like SOFT_LINK_MAY_FAIL()</desc>
            <filename>bug-141607-20150215035533.patch</filename>
            <type>text/plain</type>
            <size>1608</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwMTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWMzZmY2NzVlOTQwYWEx
OGY1YjhiODMwYjNkMzgxMGQxNDZhY2Q4NC4uMGI0OTY3MTAxMDhlZGI0NDNiZjM2ZTEwY2FjNDBk
ZWJhZDlkOWRkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE1LTAyLTE1ICBEYXZp
ZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAgICAgICAgU09GVF9MSU5LKCkgc2hv
dWxkZSBoaWRlIHJlZGVjbGFyZWQgZnVuY3Rpb24gbGlrZSBTT0ZUX0xJTktfTUFZX0ZBSUwoKQor
CisgICAgICAgIE1vcmUgd29yayB0b3dhcmRzIGZpeGluZzoKKworICAgICAgICBSRUdSRVNTSU9O
IChyMTgwMDgyKTogV2ViQ29yZSBEZWJ1ZyBidWlsZHMgZmFpbCBvbiBNYXZlcmlja3MgZHVlIHRv
IHdlYWsgZXhwb3J0IHN5bWJvbHMKKyAgICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvMTQxNjA3
PgorCisgICAgICAgICogcGxhdGZvcm0vbWFjL1NvZnRMaW5raW5nLmg6IEluIHIxNzc3MzksIHRo
ZSByZWRlY2xhcmVkCisgICAgICAgIGZ1bmN0aW9uIGZvciBTT0ZUX0xJTktfTUFZX0ZBSUwoKSB3
YXMgbWFya2VkIHdpdGgKKyAgICAgICAgX19hdHRyaWJ1dGVfXygodmlzaWJpbGl0eSgiaGlkZGVu
IikpKS4gIEkgYmVsaWV2ZSB0aGlzIGlzIGFsc28KKyAgICAgICAgcmVxdWlyZWQgZm9yIFNPRlRf
TElOSygpLCBzaW5jZSB0aGUgJ2lubGluZScgbW9kaWZpZXIgaXMgb25seSBhCisgICAgICAgIGhp
bnQsIGFuZCBpcyBsaWtlbHkgaWdub3JlZCBieSB0aGUgY29tcGlsZXIgaW4gRGVidWcgYnVpbGRz
LgorCiAyMDE1LTAyLTE1ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAg
ICAgICAgIE1vcmUgYnVpbGQgZml4aW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL1NvZnRMaW5raW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU29m
dExpbmtpbmcuaAppbmRleCA2ZDNlNDNkYjZjMjllY2MxZWMzYTQxYjM0MzI2ODE5ZmQ4MTcyNjlj
Li5kYzEzMDYwY2QzZjVkMDBlYzNjOTNmMGM3M2EwMzFiMGNkZTcxNjE4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU29mdExpbmtpbmcuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvU29mdExpbmtpbmcuaApAQCAtMTA4LDcgKzEwOCw3IEBACiAgICAg
ICAgIHJldHVybiBzb2Z0TGluayMjZnVuY3Rpb25OYW1lIHBhcmFtZXRlck5hbWVzOyBcCiAgICAg
fVwKICAgICBcCi0gICAgaW5saW5lIHJlc3VsdFR5cGUgZnVuY3Rpb25OYW1lIHBhcmFtZXRlckRl
Y2xhcmF0aW9ucyBcCisgICAgX19hdHRyaWJ1dGVfXygodmlzaWJpbGl0eSgiaGlkZGVuIikpKSBp
bmxpbmUgcmVzdWx0VHlwZSBmdW5jdGlvbk5hbWUgcGFyYW1ldGVyRGVjbGFyYXRpb25zIFwKICAg
ICB7XAogICAgICAgICByZXR1cm4gc29mdExpbmsjI2Z1bmN0aW9uTmFtZSBwYXJhbWV0ZXJOYW1l
czsgXAogICAgIH0K
</data>
<flag name="review"
          id="271561"
          type_id="1"
          status="-"
          setter="ddkilzer"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246619</attachid>
            <date>2015-02-15 08:14:25 -0800</date>
            <delta_ts>2015-02-15 08:15:24 -0800</delta_ts>
            <desc>CoreText only needs to be soft-linked on Windows</desc>
            <filename>bug-141607-20150215081421.patch</filename>
            <type>text/plain</type>
            <size>3081</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwMTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWMzZmY2NzVlOTQwYWEx
OGY1YjhiODMwYjNkMzgxMGQxNDZhY2Q4NC4uMGUwMjBkZDNhZDliOGFlZTYxNWYzZjYyNTZiOGI1
YmQ5ZWU1ZWFiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTAyLTE1ICBEYXZp
ZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAgICAgICAgQ29yZVRleHQgb25seSBu
ZWVkcyB0byBiZSBzb2Z0LWxpbmtlZCBvbiBXaW5kb3dzCisKKyAgICAgICAgTW9yZSB3b3JrIHRv
d2FyZHMgdGhlIE1hdmVyaWNrIERlYnVnIGJ1aWxkIGZpeDoKKworICAgICAgICBSRUdSRVNTSU9O
IChyMTgwMDgyKTogV2ViQ29yZSBEZWJ1ZyBidWlsZHMgZmFpbCBvbiBNYXZlcmlja3MgZHVlIHRv
IHdlYWsgZXhwb3J0IHN5bWJvbHMKKyAgICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvMTQxNjA3
PgorCisgICAgICAgICogcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHA6CisK
IDIwMTUtMDItMTUgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAg
ICAgTW9yZSBidWlsZCBmaXhpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nh
cHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2Fw
dGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYuY3BwCmluZGV4IGQzMGM1MjMwMjI0YTA5YmY4YjYx
MDAzOGE0ZmI4Zjc0OTBkOGUxMGIuLjQyNWFmYWNmMTFhM2ZiNGUzM2M3NmU1NGI0MDUyNTkyOTg1
OTk0NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJl
bmNlc01lZGlhQUYuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVm
ZXJlbmNlc01lZGlhQUYuY3BwCkBAIC03NCw3ICs3NCw2IEBACiAjZW5kaWYKIAogU09GVF9MSU5L
X0FWRl9GUkFNRVdPUksoTWVkaWFBY2Nlc3NpYmlsaXR5KQotU09GVF9MSU5LX0FWRl9GUkFNRVdP
UksoQ29yZVRleHQpCiAKIFNPRlRfTElOS19BVkZfRlJBTUVXT1JLX0lNUE9SVChNZWRpYUFjY2Vz
c2liaWxpdHksIE1BQ2FwdGlvbkFwcGVhcmFuY2VHZXREaXNwbGF5VHlwZSwgTUFDYXB0aW9uQXBw
ZWFyYW5jZURpc3BsYXlUeXBlLCAoTUFDYXB0aW9uQXBwZWFyYW5jZURvbWFpbiBkb21haW4pLCAo
ZG9tYWluKSkKIFNPRlRfTElOS19BVkZfRlJBTUVXT1JLX0lNUE9SVChNZWRpYUFjY2Vzc2liaWxp
dHksIE1BQ2FwdGlvbkFwcGVhcmFuY2VTZXREaXNwbGF5VHlwZSwgdm9pZCwgKE1BQ2FwdGlvbkFw
cGVhcmFuY2VEb21haW4gZG9tYWluLCBNQUNhcHRpb25BcHBlYXJhbmNlRGlzcGxheVR5cGUgZGlz
cGxheVR5cGUpLCAoZG9tYWluLCBkaXNwbGF5VHlwZSkpCkBAIC05Miw4ICs5MSw2IEBAIFNPRlRf
TElOS19BVkZfRlJBTUVXT1JLX0lNUE9SVChNZWRpYUFjY2Vzc2liaWxpdHksIE1BQ2FwdGlvbkFw
cGVhcmFuY2VBZGRTZWxlY3RlCiBTT0ZUX0xJTktfQVZGX0ZSQU1FV09SS19JTVBPUlQoTWVkaWFB
Y2Nlc3NpYmlsaXR5LCBNQUNhcHRpb25BcHBlYXJhbmNlQ29weVNlbGVjdGVkTGFuZ3VhZ2VzLCBD
RkFycmF5UmVmLCAoTUFDYXB0aW9uQXBwZWFyYW5jZURvbWFpbiBkb21haW4pLCAoZG9tYWluKSk7
CiBTT0ZUX0xJTktfQVZGX0ZSQU1FV09SS19JTVBPUlQoTWVkaWFBY2Nlc3NpYmlsaXR5LCBNQUNh
cHRpb25BcHBlYXJhbmNlQ29weVByZWZlcnJlZENhcHRpb25pbmdNZWRpYUNoYXJhY3RlcmlzdGlj
cywgIENGQXJyYXlSZWYsIChNQUNhcHRpb25BcHBlYXJhbmNlRG9tYWluIGRvbWFpbiksIChkb21h
aW4pKTsKIAotU09GVF9MSU5LX0FWRl9GUkFNRVdPUktfSU1QT1JUKENvcmVUZXh0LCBDVEZvbnRE
ZXNjcmlwdG9yQ29weUF0dHJpYnV0ZSwgIENGVHlwZVJlZiwgKENURm9udERlc2NyaXB0b3JSZWYg
ZGVzY3JpcHRvciwgQ0ZTdHJpbmdSZWYgYXR0cmlidXRlKSwgKGRlc2NyaXB0b3IsIGF0dHJpYnV0
ZSkpOwotCiAjaWYgUExBVEZPUk0oV0lOKQogLy8gVGhlc2UgYXJlIG5lZWRlZCBvbiBXaW5kb3dz
IGR1ZSB0byB0aGUgd2F5IERMTHMgd29yay4gV2UgZG8gbm90IG5lZWQgdGhlbSBvbiBvdGhlciBw
bGF0Zm9ybXMKICNkZWZpbmUgTUFDYXB0aW9uQXBwZWFyYW5jZUdldERpc3BsYXlUeXBlIHNvZnRM
aW5rX01BQ2FwdGlvbkFwcGVhcmFuY2VHZXREaXNwbGF5VHlwZQpAQCAtMTE3LDkgKzExNCwxNCBA
QCBTT0ZUX0xJTktfQVZGX0ZSQU1FV09SS19JTVBPUlQoQ29yZVRleHQsIENURm9udERlc2NyaXB0
b3JDb3B5QXR0cmlidXRlLCAgQ0ZUeXBlUgogU09GVF9MSU5LX0FWRl9QT0lOVEVSKE1lZGlhQWNj
ZXNzaWJpbGl0eSwga01BWENhcHRpb25BcHBlYXJhbmNlU2V0dGluZ3NDaGFuZ2VkTm90aWZpY2F0
aW9uLCBDRlN0cmluZ1JlZikKICNkZWZpbmUga01BWENhcHRpb25BcHBlYXJhbmNlU2V0dGluZ3ND
aGFuZ2VkTm90aWZpY2F0aW9uIGdldGtNQVhDYXB0aW9uQXBwZWFyYW5jZVNldHRpbmdzQ2hhbmdl
ZE5vdGlmaWNhdGlvbigpCiAKKyNpZiBQTEFURk9STShXSU4pCisvLyBDb3JlVGV4dCBvbmx5IG5l
ZWRzIHRvIGJlIHNvZnQtbGlua2VkIG9uIFdpbmRvd3MuCitTT0ZUX0xJTktfQVZGX0ZSQU1FV09S
SyhDb3JlVGV4dCkKK1NPRlRfTElOS19BVkZfRlJBTUVXT1JLX0lNUE9SVChDb3JlVGV4dCwgQ1RG
b250RGVzY3JpcHRvckNvcHlBdHRyaWJ1dGUsICBDRlR5cGVSZWYsIChDVEZvbnREZXNjcmlwdG9y
UmVmIGRlc2NyaXB0b3IsIENGU3RyaW5nUmVmIGF0dHJpYnV0ZSksIChkZXNjcmlwdG9yLCBhdHRy
aWJ1dGUpKTsKIFNPRlRfTElOS19BVkZfUE9JTlRFUihDb3JlVGV4dCwga0NURm9udE5hbWVBdHRy
aWJ1dGUsIENGU3RyaW5nUmVmKQogI2RlZmluZSBrQ1RGb250TmFtZUF0dHJpYnV0ZSBnZXRrQ1RG
b250TmFtZUF0dHJpYnV0ZSgpCiAjZW5kaWYKKyNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246620</attachid>
            <date>2015-02-15 08:18:29 -0800</date>
            <delta_ts>2015-02-15 12:41:56 -0800</delta_ts>
            <desc>CoreText only needs to be soft-linked on Windows v2</desc>
            <filename>bug-141607-20150215081825.patch</filename>
            <type>text/plain</type>
            <size>3715</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwMTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWMzZmY2NzVlOTQwYWEx
OGY1YjhiODMwYjNkMzgxMGQxNDZhY2Q4NC4uMGUwMjBkZDNhZDliOGFlZTYxNWYzZjYyNTZiOGI1
YmQ5ZWU1ZWFiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTAyLTE1ICBEYXZp
ZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAgICAgICAgQ29yZVRleHQgb25seSBu
ZWVkcyB0byBiZSBzb2Z0LWxpbmtlZCBvbiBXaW5kb3dzCisKKyAgICAgICAgTW9yZSB3b3JrIHRv
d2FyZHMgdGhlIE1hdmVyaWNrIERlYnVnIGJ1aWxkIGZpeDoKKworICAgICAgICBSRUdSRVNTSU9O
IChyMTgwMDgyKTogV2ViQ29yZSBEZWJ1ZyBidWlsZHMgZmFpbCBvbiBNYXZlcmlja3MgZHVlIHRv
IHdlYWsgZXhwb3J0IHN5bWJvbHMKKyAgICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvMTQxNjA3
PgorCisgICAgICAgICogcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHA6CisK
IDIwMTUtMDItMTUgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAg
ICAgTW9yZSBidWlsZCBmaXhpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nh
cHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2Fw
dGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYuY3BwCmluZGV4IGQzMGM1MjMwMjI0YTA5YmY4YjYx
MDAzOGE0ZmI4Zjc0OTBkOGUxMGIuLjk2MjVjYTVhMTExZjU2NDg5NWM3ZDIyNjYyMDlmNDE5YTlh
ZGMxZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJl
bmNlc01lZGlhQUYuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVm
ZXJlbmNlc01lZGlhQUYuY3BwCkBAIC03NCw3ICs3NCw2IEBACiAjZW5kaWYKIAogU09GVF9MSU5L
X0FWRl9GUkFNRVdPUksoTWVkaWFBY2Nlc3NpYmlsaXR5KQotU09GVF9MSU5LX0FWRl9GUkFNRVdP
UksoQ29yZVRleHQpCiAKIFNPRlRfTElOS19BVkZfRlJBTUVXT1JLX0lNUE9SVChNZWRpYUFjY2Vz
c2liaWxpdHksIE1BQ2FwdGlvbkFwcGVhcmFuY2VHZXREaXNwbGF5VHlwZSwgTUFDYXB0aW9uQXBw
ZWFyYW5jZURpc3BsYXlUeXBlLCAoTUFDYXB0aW9uQXBwZWFyYW5jZURvbWFpbiBkb21haW4pLCAo
ZG9tYWluKSkKIFNPRlRfTElOS19BVkZfRlJBTUVXT1JLX0lNUE9SVChNZWRpYUFjY2Vzc2liaWxp
dHksIE1BQ2FwdGlvbkFwcGVhcmFuY2VTZXREaXNwbGF5VHlwZSwgdm9pZCwgKE1BQ2FwdGlvbkFw
cGVhcmFuY2VEb21haW4gZG9tYWluLCBNQUNhcHRpb25BcHBlYXJhbmNlRGlzcGxheVR5cGUgZGlz
cGxheVR5cGUpLCAoZG9tYWluLCBkaXNwbGF5VHlwZSkpCkBAIC05Miw5ICs5MSwxNiBAQCBTT0ZU
X0xJTktfQVZGX0ZSQU1FV09SS19JTVBPUlQoTWVkaWFBY2Nlc3NpYmlsaXR5LCBNQUNhcHRpb25B
cHBlYXJhbmNlQWRkU2VsZWN0ZQogU09GVF9MSU5LX0FWRl9GUkFNRVdPUktfSU1QT1JUKE1lZGlh
QWNjZXNzaWJpbGl0eSwgTUFDYXB0aW9uQXBwZWFyYW5jZUNvcHlTZWxlY3RlZExhbmd1YWdlcywg
Q0ZBcnJheVJlZiwgKE1BQ2FwdGlvbkFwcGVhcmFuY2VEb21haW4gZG9tYWluKSwgKGRvbWFpbikp
OwogU09GVF9MSU5LX0FWRl9GUkFNRVdPUktfSU1QT1JUKE1lZGlhQWNjZXNzaWJpbGl0eSwgTUFD
YXB0aW9uQXBwZWFyYW5jZUNvcHlQcmVmZXJyZWRDYXB0aW9uaW5nTWVkaWFDaGFyYWN0ZXJpc3Rp
Y3MsICBDRkFycmF5UmVmLCAoTUFDYXB0aW9uQXBwZWFyYW5jZURvbWFpbiBkb21haW4pLCAoZG9t
YWluKSk7CiAKLVNPRlRfTElOS19BVkZfRlJBTUVXT1JLX0lNUE9SVChDb3JlVGV4dCwgQ1RGb250
RGVzY3JpcHRvckNvcHlBdHRyaWJ1dGUsICBDRlR5cGVSZWYsIChDVEZvbnREZXNjcmlwdG9yUmVm
IGRlc2NyaXB0b3IsIENGU3RyaW5nUmVmIGF0dHJpYnV0ZSksIChkZXNjcmlwdG9yLCBhdHRyaWJ1
dGUpKTsKK1NPRlRfTElOS19BVkZfUE9JTlRFUihNZWRpYUFjY2Vzc2liaWxpdHksIGtNQVhDYXB0
aW9uQXBwZWFyYW5jZVNldHRpbmdzQ2hhbmdlZE5vdGlmaWNhdGlvbiwgQ0ZTdHJpbmdSZWYpCisj
ZGVmaW5lIGtNQVhDYXB0aW9uQXBwZWFyYW5jZVNldHRpbmdzQ2hhbmdlZE5vdGlmaWNhdGlvbiBn
ZXRrTUFYQ2FwdGlvbkFwcGVhcmFuY2VTZXR0aW5nc0NoYW5nZWROb3RpZmljYXRpb24oKQogCiAj
aWYgUExBVEZPUk0oV0lOKQorLy8gQ29yZVRleHQgb25seSBuZWVkcyB0byBiZSBzb2Z0LWxpbmtl
ZCBvbiBXaW5kb3dzLgorU09GVF9MSU5LX0FWRl9GUkFNRVdPUksoQ29yZVRleHQpCitTT0ZUX0xJ
TktfQVZGX0ZSQU1FV09SS19JTVBPUlQoQ29yZVRleHQsIENURm9udERlc2NyaXB0b3JDb3B5QXR0
cmlidXRlLCAgQ0ZUeXBlUmVmLCAoQ1RGb250RGVzY3JpcHRvclJlZiBkZXNjcmlwdG9yLCBDRlN0
cmluZ1JlZiBhdHRyaWJ1dGUpLCAoZGVzY3JpcHRvciwgYXR0cmlidXRlKSk7CitTT0ZUX0xJTktf
QVZGX1BPSU5URVIoQ29yZVRleHQsIGtDVEZvbnROYW1lQXR0cmlidXRlLCBDRlN0cmluZ1JlZikK
KyNkZWZpbmUga0NURm9udE5hbWVBdHRyaWJ1dGUgZ2V0a0NURm9udE5hbWVBdHRyaWJ1dGUoKQor
CiAvLyBUaGVzZSBhcmUgbmVlZGVkIG9uIFdpbmRvd3MgZHVlIHRvIHRoZSB3YXkgRExMcyB3b3Jr
LiBXZSBkbyBub3QgbmVlZCB0aGVtIG9uIG90aGVyIHBsYXRmb3JtcwogI2RlZmluZSBNQUNhcHRp
b25BcHBlYXJhbmNlR2V0RGlzcGxheVR5cGUgc29mdExpbmtfTUFDYXB0aW9uQXBwZWFyYW5jZUdl
dERpc3BsYXlUeXBlCiAjZGVmaW5lIE1BQ2FwdGlvbkFwcGVhcmFuY2VTZXREaXNwbGF5VHlwZSBz
b2Z0TGlua19NQUNhcHRpb25BcHBlYXJhbmNlU2V0RGlzcGxheVR5cGUKQEAgLTExMywxMiArMTE5
LDYgQEAgU09GVF9MSU5LX0FWRl9GUkFNRVdPUktfSU1QT1JUKENvcmVUZXh0LCBDVEZvbnREZXNj
cmlwdG9yQ29weUF0dHJpYnV0ZSwgIENGVHlwZVIKICNkZWZpbmUgTUFDYXB0aW9uQXBwZWFyYW5j
ZUNvcHlQcmVmZXJyZWRDYXB0aW9uaW5nTWVkaWFDaGFyYWN0ZXJpc3RpY3Mgc29mdExpbmtfTUFD
YXB0aW9uQXBwZWFyYW5jZUNvcHlQcmVmZXJyZWRDYXB0aW9uaW5nTWVkaWFDaGFyYWN0ZXJpc3Rp
Y3MKICNkZWZpbmUgQ1RGb250RGVzY3JpcHRvckNvcHlBdHRyaWJ1dGUgc29mdExpbmtfQ1RGb250
RGVzY3JpcHRvckNvcHlBdHRyaWJ1dGUKICNlbmRpZgotCi1TT0ZUX0xJTktfQVZGX1BPSU5URVIo
TWVkaWFBY2Nlc3NpYmlsaXR5LCBrTUFYQ2FwdGlvbkFwcGVhcmFuY2VTZXR0aW5nc0NoYW5nZWRO
b3RpZmljYXRpb24sIENGU3RyaW5nUmVmKQotI2RlZmluZSBrTUFYQ2FwdGlvbkFwcGVhcmFuY2VT
ZXR0aW5nc0NoYW5nZWROb3RpZmljYXRpb24gZ2V0a01BWENhcHRpb25BcHBlYXJhbmNlU2V0dGlu
Z3NDaGFuZ2VkTm90aWZpY2F0aW9uKCkKLQotU09GVF9MSU5LX0FWRl9QT0lOVEVSKENvcmVUZXh0
LCBrQ1RGb250TmFtZUF0dHJpYnV0ZSwgQ0ZTdHJpbmdSZWYpCi0jZGVmaW5lIGtDVEZvbnROYW1l
QXR0cmlidXRlIGdldGtDVEZvbnROYW1lQXR0cmlidXRlKCkKICNlbmRpZgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>