about summary refs log tree commit diff
path: root/pkgs/development/compilers/gcc
diff options
context:
space:
mode:
authorBojan Nikolic <bojan@bnikolic.co.uk>2017-12-29 14:29:05 +0000
committerJohn Ericson <John.Ericson@Obsidian.Systems>2017-12-29 13:27:02 -0500
commit771bae04e8ebcef3f11a0be55c28a571181aa231 (patch)
tree592c5a0905d46ec540c301a383034b3eb7abdeaf /pkgs/development/compilers/gcc
parentd96cf0f46c2df4c83f6c518bca9869b789b07172 (diff)
downloadnixlib-771bae04e8ebcef3f11a0be55c28a571181aa231.tar
nixlib-771bae04e8ebcef3f11a0be55c28a571181aa231.tar.gz
nixlib-771bae04e8ebcef3f11a0be55c28a571181aa231.tar.bz2
nixlib-771bae04e8ebcef3f11a0be55c28a571181aa231.tar.lz
nixlib-771bae04e8ebcef3f11a0be55c28a571181aa231.tar.xz
nixlib-771bae04e8ebcef3f11a0be55c28a571181aa231.tar.zst
nixlib-771bae04e8ebcef3f11a0be55c28a571181aa231.zip
gcc: Enable SSP and shared libs in the final stage for MinGW
Hardening on by default now that we don't use the cross wrapper. In
turn, hardening requires libssp in particular.
Diffstat (limited to 'pkgs/development/compilers/gcc')
-rw-r--r--pkgs/development/compilers/gcc/4.5/default.nix2
-rw-r--r--pkgs/development/compilers/gcc/4.8/default.nix6
-rw-r--r--pkgs/development/compilers/gcc/4.9/default.nix6
-rw-r--r--pkgs/development/compilers/gcc/5/default.nix6
-rw-r--r--pkgs/development/compilers/gcc/6/default.nix6
-rw-r--r--pkgs/development/compilers/gcc/7/default.nix6
-rw-r--r--pkgs/development/compilers/gcc/snapshot/default.nix6
7 files changed, 7 insertions, 31 deletions
diff --git a/pkgs/development/compilers/gcc/4.5/default.nix b/pkgs/development/compilers/gcc/4.5/default.nix
index c4dae5c8b66f..e7cf6b1f1f1d 100644
--- a/pkgs/development/compilers/gcc/4.5/default.nix
+++ b/pkgs/development/compilers/gcc/4.5/default.nix
@@ -120,7 +120,7 @@ let version = "4.5.4";
           " --enable-sjlj-exceptions" +
           " --enable-hash-synchronization" +
           " --enable-version-specific-runtime-libs" +
-          " --disable-libssp" +
+          " --enable-libssp" +
           " --disable-nls" +
           " --with-dwarf2"
           else
diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix
index 15529bd554a4..f7674bb11845 100644
--- a/pkgs/development/compilers/gcc/4.8/default.nix
+++ b/pkgs/development/compilers/gcc/4.8/default.nix
@@ -159,13 +159,9 @@ let version = "4.8.5";
             " --enable-threads=win32" +
             " --enable-sjlj-exceptions" +
             " --enable-hash-synchronization" +
-            " --disable-libssp" +
+            " --enable-libssp" +
             " --disable-nls" +
             " --with-dwarf2" +
-            # I think noone uses shared gcc libs in mingw, so we better do the same.
-            # In any case, mingw32 g++ linking is broken by default with shared libs,
-            # unless adding "-lsupc++" to any linking command. I don't know why.
-            " --disable-shared" +
             # To keep ABI compatibility with upstream mingw-w64
             " --enable-fully-dynamic-string"
             else (if targetPlatform.libc == "uclibc" then
diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix
index 6ece3abd9356..05b5ea3a725c 100644
--- a/pkgs/development/compilers/gcc/4.9/default.nix
+++ b/pkgs/development/compilers/gcc/4.9/default.nix
@@ -159,13 +159,9 @@ let version = "4.9.4";
             " --enable-threads=win32" +
             " --enable-sjlj-exceptions" +
             " --enable-hash-synchronization" +
-            " --disable-libssp" +
+            " --enable-libssp" +
             " --disable-nls" +
             " --with-dwarf2" +
-            # I think noone uses shared gcc libs in mingw, so we better do the same.
-            # In any case, mingw32 g++ linking is broken by default with shared libs,
-            # unless adding "-lsupc++" to any linking command. I don't know why.
-            " --disable-shared" +
             # To keep ABI compatibility with upstream mingw-w64
             " --enable-fully-dynamic-string"
             else (if targetPlatform.libc == "uclibc" then
diff --git a/pkgs/development/compilers/gcc/5/default.nix b/pkgs/development/compilers/gcc/5/default.nix
index f6242573e67f..10701f687dec 100644
--- a/pkgs/development/compilers/gcc/5/default.nix
+++ b/pkgs/development/compilers/gcc/5/default.nix
@@ -163,13 +163,9 @@ let version = "5.4.0";
             " --enable-threads=win32" +
             " --enable-sjlj-exceptions" +
             " --enable-hash-synchronization" +
-            " --disable-libssp" +
+            " --enable-libssp" +
             " --disable-nls" +
             " --with-dwarf2" +
-            # I think noone uses shared gcc libs in mingw, so we better do the same.
-            # In any case, mingw32 g++ linking is broken by default with shared libs,
-            # unless adding "-lsupc++" to any linking command. I don't know why.
-            " --disable-shared" +
             # To keep ABI compatibility with upstream mingw-w64
             " --enable-fully-dynamic-string"
             else (if targetPlatform.libc == "uclibc" then
diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix
index 324fb3e0c1ac..bcee4026c395 100644
--- a/pkgs/development/compilers/gcc/6/default.nix
+++ b/pkgs/development/compilers/gcc/6/default.nix
@@ -159,13 +159,9 @@ let version = "6.3.0";
             " --enable-threads=win32" +
             " --enable-sjlj-exceptions" +
             " --enable-hash-synchronization" +
-            " --disable-libssp" +
+            " --enable-libssp" +
             " --disable-nls" +
             " --with-dwarf2" +
-            # I think noone uses shared gcc libs in mingw, so we better do the same.
-            # In any case, mingw32 g++ linking is broken by default with shared libs,
-            # unless adding "-lsupc++" to any linking command. I don't know why.
-            " --disable-shared" +
             # To keep ABI compatibility with upstream mingw-w64
             " --enable-fully-dynamic-string"
             else (if targetPlatform.libc == "uclibc" then
diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix
index c8d54308c955..ab56adf1a524 100644
--- a/pkgs/development/compilers/gcc/7/default.nix
+++ b/pkgs/development/compilers/gcc/7/default.nix
@@ -160,13 +160,9 @@ let version = "7.1.0";
             " --enable-threads=win32" +
             " --enable-sjlj-exceptions" +
             " --enable-hash-synchronization" +
-            " --disable-libssp" +
+            " --enable-libssp" +
             " --disable-nls" +
             " --with-dwarf2" +
-            # I think noone uses shared gcc libs in mingw, so we better do the same.
-            # In any case, mingw32 g++ linking is broken by default with shared libs,
-            # unless adding "-lsupc++" to any linking command. I don't know why.
-            " --disable-shared" +
             # To keep ABI compatibility with upstream mingw-w64
             " --enable-fully-dynamic-string"
             else (if targetPlatform.libc == "uclibc" then
diff --git a/pkgs/development/compilers/gcc/snapshot/default.nix b/pkgs/development/compilers/gcc/snapshot/default.nix
index fd34f414f961..09d4f8af869b 100644
--- a/pkgs/development/compilers/gcc/snapshot/default.nix
+++ b/pkgs/development/compilers/gcc/snapshot/default.nix
@@ -160,13 +160,9 @@ let version = "7-20170409";
             " --enable-threads=win32" +
             " --enable-sjlj-exceptions" +
             " --enable-hash-synchronization" +
-            " --disable-libssp" +
+            " --enable-libssp" +
             " --disable-nls" +
             " --with-dwarf2" +
-            # I think noone uses shared gcc libs in mingw, so we better do the same.
-            # In any case, mingw32 g++ linking is broken by default with shared libs,
-            # unless adding "-lsupc++" to any linking command. I don't know why.
-            " --disable-shared" +
             # To keep ABI compatibility with upstream mingw-w64
             " --enable-fully-dynamic-string"
             else (if targetPlatform.libc == "uclibc" then