https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117312
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Ever confirmed|0 |1
Status|UNCONFIRMED |WAITING
Last reconfirmed| |2024-10-27
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
I am not sure what you mean by this.
The kernel ABI specifies there is no red-zone for x86_64.
> An example of when this is unavoidable are constructs like pushf/pop to get
> the current value of the flags register.
>This is definitely used incorrectly in a fair bit of code in existence.
There is an intrinsics already for reading the flags: __readeflags.
And one for writing it: __writeeflags . Which was added in
r0-127024-g9bbd48d120d203 for GCC 4.9.0 (11 years ago). The intrinsics uses
builtins instead of inline-asm too.
So that alone is not the reason to change this.
As far as calls are, then using inline-asm is broken and not correct appoarch.
Though "memory" clobber should be enough for that.