https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70148
Bug ID: 70148 Summary: Feature request: allow overriding the SSP canary location Product: gcc Version: 5.3.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: luto at kernel dot org Target Milestone: --- The 32-bit x86 Linux kernel jumps through ridiculous hoops to but the SSP canary where GCC expects it. (If I had been paying attention when that code was written, I would have NAKed it outright -- it's a disaster.) The 64-bit kernel jumps through less ridiculous hoops. Can we have the ability to tell GCC what segment override to use and what offset to use? It would be even better if we could tell GCC what segment override to use and make GCC emit an absolute symbol reference for the offset so we could relocate it. (The 32-bit issue is that GCC insists on using %gs, and Linux would *much* prefer %fs.)