Commit 11e5942
authored
Turn off gsframe option if GCC supports it (#1037)
Recent versions of GCC (15.2.0, possibly slightly earlier too)
introduced a new format (SFrame) for fast stack unwinding by default or
when certain flags are present. The SFrame implementation seems to have
a limitation in that it only supports a subset of x86_64 registers for
the Canonical Frame Address (CFA). qsim makes heavy use of
AVX/AVX2/AVX512 instructions. When GCC optimizes this code, it often
uses additional registers to calculate the stack frame. Since SFrame
doesn't support these registers, the assembler warns that it cannot emit
SFrame data for those sections.
The warnings are harmless for qsim because it does not rely on SFrame
for its functionality. However, compilation produces _a lot_ of these
warning messages, which is alarming, confusing, and annoying.
This change adds the option `-Wa,--gsframe=no` to GCC if it supports the
option. This silences the warnings.1 parent d908952 commit 11e5942
2 files changed
Lines changed: 17 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
49 | 62 | | |
50 | 63 | | |
51 | 64 | | |
| |||
126 | 139 | | |
127 | 140 | | |
128 | 141 | | |
129 | | - | |
| 142 | + | |
130 | 143 | | |
131 | 144 | | |
132 | 145 | | |
| |||
214 | 227 | | |
215 | 228 | | |
216 | 229 | | |
217 | | - | |
| 230 | + | |
218 | 231 | | |
219 | 232 | | |
220 | 233 | | |
| |||
241 | 254 | | |
242 | 255 | | |
243 | 256 | | |
244 | | - | |
| 257 | + | |
245 | 258 | | |
246 | 259 | | |
247 | 260 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
43 | | - | |
| 43 | + | |
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
| |||
0 commit comments