https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66631

Andy Lutomirski <luto at mit dot edu> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |luto at mit dot edu

--- Comment #17 from Andy Lutomirski <luto at mit dot edu> ---
I'll chime in, possibly uselessly.

Before Linux 4.1, only CS was saved.  (Unless you go *way* back.)  In  4.1 or
newer, SS is saved, too.

In 64-bit code, DS and ES have no effect*, so I don't think it should affect
code gen.

FS and GS are weird, and they may get weirder when WRGSBASE and friends are
enabled, which will happen at some point.

Anyway, I tend to agree with Andrew here, I think: if you want to fiddle with
FS and GS, write a little asm wrapper around the C code.

* Except in an odd case on AMD processors that is mostly invisible to
userspace.  On new enough kernels, it's completely invisible to userspace, and
I don't think it was ever visible without long jumps or such.

Reply via email to