Commit 3b34d63
committed
Turn off gsframe option if GCC supports it
Recent versions of GCC apparently 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.
These warnings are harmless for qsim because it does not rely on SFrame
for its functionality. However, compilation produces _a lot_ of warning
messages, which is alarming and confusing.
This change adds the option `-Wa,--gsframe=no` to GCC if it supports the
option. This silences the warnings.1 parent a78d121 commit 3b34d63
1 file changed
Lines changed: 11 additions & 1 deletion
| 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 | + | |
49 | 59 | | |
50 | 60 | | |
51 | 61 | | |
| |||
241 | 251 | | |
242 | 252 | | |
243 | 253 | | |
244 | | - | |
| 254 | + | |
245 | 255 | | |
246 | 256 | | |
247 | 257 | | |
0 commit comments