aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/mach/x86
AgeCommit message (Collapse)AuthorFilesLines
2025-01-01Update copyright dates with scripts/update-copyrightsPaul Eggert4-4/+4
2024-12-27hurd: Avoid asm statements which returnSamuel Thibault1-6/+18
They are not supposed to change flow control. This fixes miscompilation with gcc 14.2.0 which then drops code, see https://lists.gnu.org/archive/html/bug-hurd/2024-11/msg00145.html
2024-01-03mach: Drop SNARF_ARGS macroSergey Bugaev1-14/+0
We're obtaining arguments from the stack differently, see init-first.c. Signed-off-by: Sergey Bugaev <bugaevc@gmail.com>
2024-01-01Update copyright dates with scripts/update-copyrightsPaul Eggert4-4/+4
2023-09-28hurd: Drop REG_GSFS and REG_ESDS from x86_64's ucontextSamuel Thibault1-2/+4
These are useless on x86_64, and __NGREG was actually wrong with them.
2023-05-17mach: Define MACHINE_THREAD_STATE_SETUP_CALLSergey Bugaev1-0/+13
The existing two macros, MACHINE_THREAD_STATE_SET_PC and MACHINE_THREAD_STATE_SET_SP, can be used to set program counter and the stack pointer registers in a machine-specific thread state structure. Useful as it is, this may not be enough to set up the thread to make a function call, because the machine-specific ABI may impose additional requirements. In particular, x86_64 ABI requires that upon function entry, the stack pointer is 8 less than 16-byte aligned (sp & 15 == 8). To deal with this, introduce a new macro, MACHINE_THREAD_STATE_SETUP_CALL (), which sets both stack and instruction pointers, and also applies any machine-specific requirements to make a valid function call. The default implementation simply forwards to MACHINE_THREAD_STATE_SET_PC and MACHINE_THREAD_STATE_SET_SP, but on x86_64 we additionally align the stack pointer. Signed-off-by: Sergey Bugaev <bugaevc@gmail.com> Message-Id: <20230517191436.73636-3-bugaevc@gmail.com>
2023-02-20Define PC, SP and SYSRETURN for hurd x86_64Flavio Cruz1-0/+59
Moved thread_state.h to x86 directory since we only need to customize those 3 definitions. Message-Id: <Y+x4xrsDMkAomncO@jupiter.tail36e24.ts.net>
2023-02-05Move RETURN_TO to x86/sysdep.h and implement x86_64 version.Flavio Cruz1-0/+17
Message-Id: <Y99nfeBrTubZL9oi@jupiter.tail36e24.ts.net>
2023-02-02hurd: Move some i386 bits to x86Samuel Thibault3-0/+151
As they will actually be usable on x86_64 too.