File tree Expand file tree Collapse file tree 1 file changed +4
-14
lines changed
pkgs/development/compilers/gcc/common Expand file tree Collapse file tree 1 file changed +4
-14
lines changed Original file line number Diff line number Diff line change 36
36
37
37
assert ! enablePlugin -> disableGdbPlugin ;
38
38
39
- # Note [Windows Exception Handling]
40
- # sjlj (short jump long jump) exception handling makes no sense on x86_64,
41
- # it's forcably slowing programs down as it produces a constant overhead.
42
- # On x86_64 we have SEH (Structured Exception Handling) and we should use
43
- # that. On i686, we do not have SEH, and have to use sjlj with dwarf2.
44
- # Hence it's now conditional on x86_32 (i686 is 32bit).
45
- #
46
- # ref: https://stackoverflow.com/questions/15670169/what-is-difference-between-sjlj-vs-dwarf-vs-seh
47
-
48
39
let
49
40
inherit ( stdenv )
50
41
buildPlatform
71
62
} /bin/${ targetPlatform . config } -as"
72
63
"--with-ld=${ targetPackages . stdenv . cc . bintools } /bin/${ targetPlatform . config } -ld"
73
64
]
65
+ ++ lib . optionals ( crossMingw && targetPlatform . isx86_32 ) [
66
+ "--disable-sjlj-exceptions"
67
+ "--with-dwarf2"
68
+ ]
74
69
++ (
75
70
if withoutTargetLibc then
76
71
[
98
93
# To keep ABI compatibility with upstream mingw-w64
99
94
"--enable-fully-dynamic-string"
100
95
]
101
- ++ lib . optionals ( crossMingw && targetPlatform . isx86_32 ) [
102
- # See Note [Windows Exception Handling]
103
- "--enable-sjlj-exceptions"
104
- "--with-dwarf2"
105
- ]
106
96
else
107
97
[
108
98
(
You can’t perform that action at this time.
0 commit comments