Changeset 9d98701


Ignore:
Timestamp:
05/15/2023 07:21:23 AM (12 months ago)
Author:
Xi Ruoyao <xry111@…>
Branches:
12.0, 12.1, kea, ken/TL2024, ken/tuningfonts, lazarus, lxqt, plabs/newcss, python3.11, rahul/power-profiles-daemon, renodr/vulkan-addition, trunk, xry111/llvm18, xry111/xf86-video-removal
Children:
bee906c
Parents:
3f6a6dc
Message:

firefox: Use the same patch as Thunderbird

Firefox shares many components with TB, so it also suffers the
same mutability UB exploited by LLVM 16. Though it does not crash at
start up, there are some reports saying a crash will happen in certain
conditions. Use the same patch as TB to fix the UB.

The patch has been symlinked in patches.git.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • xsoft/graphweb/firefox.xml

    r3f6a6dc r9d98701  
    8080        <para>
    8181          Required patch:
    82           <ulink url="&patch-root;/firefox-&firefox-version;-upstream_fixes-1.patch"/>
     82          <ulink url="&patch-root;/firefox-&firefox-version;-consolidated-1.patch"/>
    8383        </para>
    8484      </listitem>
     
    353353
    354354    </note>
    355     <para>
    356       First ensure that some headers moved out of the C++ standard library in
    357       GCC-13 are included:
    358     </para>
    359 
    360 <screen><userinput>sed -e '/#include &lt;cmath&gt;/a#include &lt;cstdint&gt;' -i gfx/2d/Rect.h
    361 sed -e '/#include &lt;string&gt;/a#include &lt;cstdint&gt;' \
    362  -i dom/media/webrtc/sdp/RsdparsaSdpGlue.cpp
    363 sed -e '/#include &lt;cstdlib&gt;/a#include &lt;cstdint&gt;' \
    364  -i toolkit/components/telemetry/pingsender/pingsender.cpp
    365 </userinput></screen>
    366 
    367     <para>
    368       Fix a build failure that occurs due to the rust-bindgen crate being
    369       incompatible with LLVM-16:
    370     </para>
    371 
    372 <screen><userinput remap="pre">patch -Np1 -i ../firefox-&firefox-version;-upstream_fixes-1.patch</userinput></screen>
     355
     356    <para>
     357      Fix building Firefox with Clang 16 or C++ headers from GCC 13.
     358      And, work around a crash caused by an undefined behavior in the Rust
     359      FFI code which is exploited by Rustc using LLVM 16 as the backend:
     360    </para>
     361
     362<screen><userinput remap="pre">patch -Np1 -i ../firefox-&firefox-version;-consolidated-1.patch</userinput></screen>
    373363
    374364    <para>
Note: See TracChangeset for help on using the changeset viewer.