mozilla-bmo1512162.patch
changeset 1129 146af4f081b9
parent 1123 7fa561e5d7c7
child 1152 4cfe46c9a944
equal deleted inserted replaced
1116:52b1745787cf 1129:146af4f081b9
     1 # HG changeset patch
     1 # HG changeset patch
     2 # Parent  e5858dc7ab007042436496f7cfb9a5abf10f5082
     2 # Parent  e42a036a5533ea6a60ebc22fd2a150c384d42fda
     3 This fixes a broken build for gcc < 9 on ppc64le.
     3 This fixes a broken build for gcc < 9 on ppc64le.
     4 This patch can be removed for newer gcc-versions.
     4 This patch can be removed for newer gcc-versions.
     5 
     5 
     6 diff -r e5858dc7ab00 -r 5d3469aabe61 js/xpconnect/src/XPCWrappedNative.cpp
     6 diff --git a/js/xpconnect/src/XPCWrappedNative.cpp b/js/xpconnect/src/XPCWrappedNative.cpp
     7 --- a/js/xpconnect/src/XPCWrappedNative.cpp	Thu Nov 29 10:07:29 2018 +0100
     7 --- a/js/xpconnect/src/XPCWrappedNative.cpp
     8 +++ b/js/xpconnect/src/XPCWrappedNative.cpp	Tue Sep 10 12:42:13 2019 +0200
     8 +++ b/js/xpconnect/src/XPCWrappedNative.cpp
     9 @@ -1092,7 +1092,11 @@
     9 @@ -1080,17 +1080,21 @@ class MOZ_STACK_CLASS CallMethodHelper f
       
    10                                                 uint32_t* result);
       
    11  
       
    12    MOZ_ALWAYS_INLINE bool GetInterfaceTypeFromParam(const nsXPTType& type,
       
    13                                                     nsID* result) const;
       
    14  
    10    MOZ_ALWAYS_INLINE bool GetOutParamSource(uint8_t paramIndex,
    15    MOZ_ALWAYS_INLINE bool GetOutParamSource(uint8_t paramIndex,
    11                                             MutableHandleValue srcp) const;
    16                                             MutableHandleValue srcp) const;
    12  
    17  
    13 -  MOZ_ALWAYS_INLINE bool GatherAndConvertResults();
    18 -  MOZ_ALWAYS_INLINE bool GatherAndConvertResults();
    14 +#if !(__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
    19 +#if !(__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
    17 +#endif
    22 +#endif
    18 +  bool GatherAndConvertResults();
    23 +  bool GatherAndConvertResults();
    19  
    24  
    20    MOZ_ALWAYS_INLINE bool QueryInterfaceFastPath();
    25    MOZ_ALWAYS_INLINE bool QueryInterfaceFastPath();
    21  
    26  
    22 @@ -1139,7 +1143,11 @@
    27    nsXPTCVariant* GetDispatchParam(uint8_t paramIndex) {
       
    28      if (paramIndex >= mJSContextIndex) {
       
    29        paramIndex += 1;
       
    30      }
       
    31      if (paramIndex >= mOptArgcIndex) {
       
    32 @@ -1127,17 +1131,21 @@ class MOZ_STACK_CLASS CallMethodHelper f
       
    33  
       
    34    {
       
    35      // Success checked later.
       
    36      mIFaceInfo->GetMethodInfo(mVTableIndex, &mMethodInfo);
       
    37    }
    23  
    38  
    24    ~CallMethodHelper();
    39    ~CallMethodHelper();
    25  
    40  
    26 -  MOZ_ALWAYS_INLINE bool Call();
    41 -  MOZ_ALWAYS_INLINE bool Call();
    27 +#if !(__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
    42 +#if !(__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
    30 +#endif
    45 +#endif
    31 +  bool Call();
    46 +  bool Call();
    32  
    47  
    33    // Trace implementation so we can put our CallMethodHelper in a Rooted<T>.
    48    // Trace implementation so we can put our CallMethodHelper in a Rooted<T>.
    34    void trace(JSTracer* aTrc);
    49    void trace(JSTracer* aTrc);
       
    50  };
       
    51  
       
    52  // static
       
    53  bool XPCWrappedNative::CallMethod(XPCCallContext& ccx,
       
    54                                    CallMode mode /*= CALL_METHOD */) {