commit 562fe8f1df0de8912c9eaf7ff8c3b4d989d4aa01 Author: Georg Koppen gk@torproject.org Date: Tue Oct 1 07:42:38 2019 +0000
Bug 29013: Enable stack protection support for Firefox on Windows --- projects/firefox/build | 3 +++ projects/firefox/config | 3 +++ projects/mingw-w64/build | 4 +++- 3 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/projects/firefox/build b/projects/firefox/build index ac63c84..7903bd3 100644 --- a/projects/firefox/build +++ b/projects/firefox/build @@ -15,6 +15,9 @@ mkdir -p [% dest_dir _ '/' _ c('filename') %] mkdir -p $HOME WINEROOT=$HOME/.wine/drive_c wine wineboot -i + # Setting up stack protector support + tar -C /var/tmp/dist -xf [% c('input_files_by_name/mingw-w64') %] + cp /var/tmp/dist/mingw-w64/gcclibs/{libssp.a,libssp_nonshared.a} /var/tmp/dist/mingw-w64-clang/[% c("arch") %]-w64-mingw32/lib/ [% END -%]
tar -C /var/tmp/dist -xf [% c('input_files_by_name/rust') %] diff --git a/projects/firefox/config b/projects/firefox/config index 3391a5a..9da579a 100644 --- a/projects/firefox/config +++ b/projects/firefox/config @@ -159,6 +159,9 @@ input_files: - project: fxc2 name: fxc2 enable: '[% c("var/windows") %]' + - name: mingw-w64 + project: mingw-w64 + enable: '[% c("var/windows") %]' - filename: abicheck.cc enable: '[% c("var/linux") %]' - filename: start-firefox diff --git a/projects/mingw-w64/build b/projects/mingw-w64/build index 111205c..9e504ba 100644 --- a/projects/mingw-w64/build +++ b/projects/mingw-w64/build @@ -56,7 +56,9 @@ cd /var/tmp/build/gcc make -j[% c("buildconf/num_procs") %] make install mkdir -p $distdir/gcclibs -cp [% c("arch") %]-w64-mingw32/libssp/.libs/libssp-0.dll $distdir/gcclibs +# We compile libssp both for being used dynamically (in tor) and statically (in +# firefox). +cp [% c("arch") %]-w64-mingw32/libssp/.libs/libssp* $distdir/gcclibs cp [% c("arch") %]-w64-mingw32/libgcc/shlib/[% c("var/libgcc_dll") %] $distdir/gcclibs
cd /var/tmp/dist