mozilla-bmo1512162.patch
branchfirefox115
changeset 1190 2a24a948b5cf
parent 1152 4cfe46c9a944
equal deleted inserted replaced
1189:ba0c97b018a6 1190:2a24a948b5cf
     1 # HG changeset patch
     1 # HG changeset patch
     2 # Parent  f9f5af4c88f2f3172a4f30d7e42bd2131bf24146
     2 # Parent  f9f5af4c88f2f3172a4f30d7e42bd2131bf24146
     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 --git a/js/xpconnect/src/XPCWrappedNative.cpp b/js/xpconnect/src/XPCWrappedNative.cpp
     6 Index: firefox-115.0/js/xpconnect/src/XPCWrappedNative.cpp
     7 --- a/js/xpconnect/src/XPCWrappedNative.cpp
     7 ===================================================================
     8 +++ b/js/xpconnect/src/XPCWrappedNative.cpp
     8 --- firefox-115.0.orig/js/xpconnect/src/XPCWrappedNative.cpp
     9 @@ -1072,17 +1072,21 @@ class MOZ_STACK_CLASS CallMethodHelper f
     9 +++ firefox-115.0/js/xpconnect/src/XPCWrappedNative.cpp
    10                                                 uint32_t* result);
    10 @@ -1061,7 +1061,11 @@ class MOZ_STACK_CLASS CallMethodHelper f
    11  
       
    12    MOZ_ALWAYS_INLINE bool GetInterfaceTypeFromParam(const nsXPTType& type,
       
    13                                                     nsID* result) const;
       
    14  
       
    15    MOZ_ALWAYS_INLINE bool GetOutParamSource(uint8_t paramIndex,
    11    MOZ_ALWAYS_INLINE bool GetOutParamSource(uint8_t paramIndex,
    16                                             MutableHandleValue srcp) const;
    12                                             MutableHandleValue srcp) const;
    17  
    13  
    18 -  MOZ_ALWAYS_INLINE bool GatherAndConvertResults();
    14 -  MOZ_ALWAYS_INLINE bool GatherAndConvertResults();
    19 +#if !(__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
    15 +#if !(__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
    22 +#endif
    18 +#endif
    23 +  bool GatherAndConvertResults();
    19 +  bool GatherAndConvertResults();
    24  
    20  
    25    MOZ_ALWAYS_INLINE bool QueryInterfaceFastPath();
    21    MOZ_ALWAYS_INLINE bool QueryInterfaceFastPath();
    26  
    22  
    27    nsXPTCVariant* GetDispatchParam(uint8_t paramIndex) {
    23 @@ -1108,7 +1112,11 @@ class MOZ_STACK_CLASS CallMethodHelper f
    28      if (paramIndex >= mJSContextIndex) {
       
    29        paramIndex += 1;
       
    30      }
       
    31      if (paramIndex >= mOptArgcIndex) {
       
    32 @@ -1119,17 +1123,21 @@ class MOZ_STACK_CLASS CallMethodHelper f
       
    33  
       
    34    {
       
    35      // Success checked later.
       
    36      mIFaceInfo->GetMethodInfo(mVTableIndex, &mMethodInfo);
       
    37    }
       
    38  
    24  
    39    ~CallMethodHelper();
    25    ~CallMethodHelper();
    40  
    26  
    41 -  MOZ_ALWAYS_INLINE bool Call();
    27 -  MOZ_ALWAYS_INLINE bool Call();
    42 +#if !(__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
    28 +#if !(__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
    45 +#endif
    31 +#endif
    46 +  bool Call();
    32 +  bool Call();
    47  
    33  
    48    // Trace implementation so we can put our CallMethodHelper in a Rooted<T>.
    34    // Trace implementation so we can put our CallMethodHelper in a Rooted<T>.
    49    void trace(JSTracer* aTrc);
    35    void trace(JSTracer* aTrc);
    50  };
       
    51  
       
    52  // static
       
    53  bool XPCWrappedNative::CallMethod(XPCCallContext& ccx,
       
    54                                    CallMode mode /*= CALL_METHOD */) {