mozilla-bmo1512162.patch
branchfirefox69
changeset 1109 972f68ac6b1a
child 1123 7fa561e5d7c7
equal deleted inserted replaced
1108:33b03cfb3747 1109:972f68ac6b1a
       
     1 # HG changeset patch
       
     2 # Parent  e5858dc7ab007042436496f7cfb9a5abf10f5082
       
     3 This fixes a broken build for gcc < 9 on ppc64le.
       
     4 This patch can be removed for newer gcc-versions.
       
     5 
       
     6 diff -r e5858dc7ab00 -r 5d3469aabe61 js/xpconnect/src/XPCWrappedNative.cpp
       
     7 --- a/js/xpconnect/src/XPCWrappedNative.cpp	Thu Nov 29 10:07:29 2018 +0100
       
     8 +++ b/js/xpconnect/src/XPCWrappedNative.cpp	Tue Sep 10 12:42:13 2019 +0200
       
     9 @@ -1092,7 +1092,11 @@
       
    10    MOZ_ALWAYS_INLINE bool GetOutParamSource(uint8_t paramIndex,
       
    11                                             MutableHandleValue srcp) const;
       
    12  
       
    13 -  MOZ_ALWAYS_INLINE bool GatherAndConvertResults();
       
    14 +#if !(__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
       
    15 +// Work around a compiler bug on ppc64le (bug 1512162).
       
    16 +  MOZ_ALWAYS_INLINE
       
    17 +#endif
       
    18 +  bool GatherAndConvertResults();
       
    19  
       
    20    MOZ_ALWAYS_INLINE bool QueryInterfaceFastPath();
       
    21  
       
    22 @@ -1139,7 +1143,11 @@
       
    23  
       
    24    ~CallMethodHelper();
       
    25  
       
    26 -  MOZ_ALWAYS_INLINE bool Call();
       
    27 +#if !(__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
       
    28 +// Work around a compiler bug on ppc64le (bug 1512162).
       
    29 +  MOZ_ALWAYS_INLINE
       
    30 +#endif
       
    31 +  bool Call();
       
    32  
       
    33    // Trace implementation so we can put our CallMethodHelper in a Rooted<T>.
       
    34    void trace(JSTracer* aTrc);