commit 8fd3d1dc7f27a96129328af98b69e18d161cef97
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Fri Apr 20 18:41:15 2018 +0200
Bug 25862: move mingw helper scripts to firefox
Stop using mingw helper scripts everywhere except for the firefox build.
At the same time as we move them to firefox, we simplify the helper
scripts by using var/CFLAGS and var/LDFLAGS from rbm.conf instead of
redefining the flags.
We are also now building firefox with -fstack-protector-strong instead
of -fstack-protector.
---
projects/firefox/build | 23 +++++++++++++++++++++++
projects/mingw-w64/build | 19 -------------------
projects/mingw-w64/config | 2 +-
projects/nsis/build | 2 --
rbm.conf | 2 +-
5 files changed, 25 insertions(+), 23 deletions(-)
diff --git a/projects/firefox/build b/projects/firefox/build
index a7441bd..c3536c6 100644
--- a/projects/firefox/build
+++ b/projects/firefox/build
@@ -17,6 +17,29 @@
distdir=/var/tmp/dist/[% project %]
mkdir -p /var/tmp/build
+[% IF c("var/windows") -%]
+ mingwdir=/var/tmp/dist/mingw-w64
+ mkdir -p $mingwdir/helpers
+
+ cat > $mingwdir/helpers/[% c("arch") %]-w64-mingw32-g++ << 'EOF'
+#!/bin/sh
+/var/tmp/dist/mingw-w64/bin/[% c("arch") %]-w64-mingw32-g++ [% c("var/LDFLAGS") %] [% c("var/CFLAGS") %] "$@"
+EOF
+
+ cat > $mingwdir/helpers/[% c("arch") %]-w64-mingw32-gcc << 'EOF'
+#!/bin/sh
+/var/tmp/dist/mingw-w64/bin/[% c("arch") %]-w64-mingw32-gcc [% c("var/LDFLAGS") %] [% c("var/CFLAGS") %] "$@"
+EOF
+
+ cat > $mingwdir/helpers/[% c("arch") %]-w64-mingw32-ld << 'EOF'
+#!/bin/sh
+/var/tmp/dist/mingw-w64/bin/[% c("arch") %]-w64-mingw32-ld [% c("var/LDFLAGS") %] "$@"
+EOF
+
+ chmod +x $mingwdir/helpers/*
+ export PATH="$mingwdir/helpers:$PATH"
+[% END -%]
+
[% IF c("var/linux") %]
mkdir -p /var/tmp/dist
tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/binutils') %]
diff --git a/projects/mingw-w64/build b/projects/mingw-w64/build
index 8ce5048..a142c38 100644
--- a/projects/mingw-w64/build
+++ b/projects/mingw-w64/build
@@ -55,25 +55,6 @@ mkdir -p $distdir/gcclibs
cp [% c("arch") %]-w64-mingw32/libssp/.libs/libssp-0.dll $distdir/gcclibs
cp [% c("arch") %]-w64-mingw32/libgcc/shlib/[% c("var/libgcc_dll") %] $distdir/gcclibs
-mkdir -p $distdir/helpers
-
-cat > $distdir/helpers/[% c("arch") %]-w64-mingw32-g++ << 'EOF'
-#!/bin/sh
-/var/tmp/dist/mingw-w64/bin/[% c("arch") %]-w64-mingw32-g++ -Wl,--dynamicbase -Wl,--nxcompat -Wl,--enable-reloc-section -fstack-protector --param ssp-buffer-size=4 -fno-strict-overflow "$@"
-EOF
-
-cat > $distdir/helpers/[% c("arch") %]-w64-mingw32-gcc << 'EOF'
-#!/bin/sh
-/var/tmp/dist/mingw-w64/bin/[% c("arch") %]-w64-mingw32-gcc -Wl,--dynamicbase -Wl,--nxcompat -Wl,--enable-reloc-section -fstack-protector --param ssp-buffer-size=4 -fno-strict-overflow "$@"
-EOF
-
-cat > $distdir/helpers/[% c("arch") %]-w64-mingw32-ld << 'EOF'
-#!/bin/sh
-/var/tmp/dist/mingw-w64/bin/[% c("arch") %]-w64-mingw32-ld --dynamicbase --nxcompat --enable-reloc-section -lssp -L$gcclibs "$@"
-EOF
-
-chmod +x $distdir/helpers/*
-
cd /var/tmp/dist
[% c('tar', {
tar_src => [ project ],
diff --git a/projects/mingw-w64/config b/projects/mingw-w64/config
index 01d0c37..fb9ef21 100644
--- a/projects/mingw-w64/config
+++ b/projects/mingw-w64/config
@@ -15,7 +15,7 @@ var:
[% c("var/setarch") -%]
mkdir -p /var/tmp/dist
tar -C /var/tmp/dist -xf $rootdir/[% c("compiler_tarfile") %]
- export PATH="/var/tmp/dist/mingw-w64/helpers:/var/tmp/dist/mingw-w64/bin:$PATH"
+ export PATH="/var/tmp/dist/mingw-w64/bin:$PATH"
export gcclibs=/var/tmp/dist/mingw-w64/gcclibs
targets:
windows-i686:
diff --git a/projects/nsis/build b/projects/nsis/build
index af19dd7..81ed4d4 100755
--- a/projects/nsis/build
+++ b/projects/nsis/build
@@ -1,8 +1,6 @@
#!/bin/bash
[% c("var/set_default_env") -%]
[% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %]
-# remove hardening wrappers
-rm -Rf /var/tmp/dist/mingw-w64/helpers
mkdir -p /var/tmp/dist
mkdir -p /var/tmp/build
tar -C /var/tmp/build -xf nsis-[% c('version') %].tar.bz2
diff --git a/rbm.conf b/rbm.conf
index bb53bcb..6adcd6f 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -216,7 +216,7 @@ targets:
container:
suite: jessie
configure_opt: '--host=[% c("arch") %]-w64-mingw32 CFLAGS="[% c("var/CFLAGS") %]" LDFLAGS="[% c("var/LDFLAGS") %]"'
- CFLAGS: '[% c("var/flag_mwindows") %] -fstack-protector-all -Wstack-protector --param ssp-buffer-size=4 -fno-strict-overflow -Wno-missing-field-initializers -Wformat -Wformat-security'
+ CFLAGS: '[% c("var/flag_mwindows") %] -fstack-protector-strong -fno-strict-overflow -Wno-missing-field-initializers -Wformat -Wformat-security'
LDFLAGS: '[% c("var/flag_mwindows") %] -Wl,--dynamicbase -Wl,--nxcompat -Wl,--enable-reloc-section -lssp -L$gcclibs'
flag_mwindows: '-mwindows'
compiler: mingw-w64