_GNU_SOURCE can be defined without defining REG_X macros so it is not a
good indicator. (QEMU for example defines it in the build system.) x86
and x86_64 should have consistant looking defs.h so ifndef guards are
added to each REG_X definition.
This is needed because in libucontext.h we include "libucontext/bits.h".
We therefore need to have bits.h in somepath/libucontext/bits.h. In the
Makefile, somepath/freestanding/bits.h was copied to the right path but
in the meson build system, the include copy happens at the end.
Commit d0ccf2f96f contains the makecontext
fix from Adélie commit aaeb73ea701388e55b7640e32509a5f6a57f6350[1], as
seen at AdelieLinux/libucontext@aaeb73ea – but it didn't include the
addition of my author line.
The full commit text, for future documentation/reference, was:
```
x86: Write link pointer at correct stack offset
It must come *after* the parameters, not *before*.
```
Fixes: d0ccf2f96f ("x86: modernize")
Signed-off-by: A. Wilcox <AWilcox@Wilcox-Tech.com>
[1]: aaeb73ea70