x86: fix conflicts with musl headers + freestanding adaptations
parent
83a109c2a7
commit
9c0ffd8fbb
|
@ -1,21 +1,59 @@
|
||||||
#ifndef __ARCH_X86_DEFS_H
|
#ifndef __ARCH_X86_DEFS_H
|
||||||
#define __ARCH_X86_DEFS_H
|
#define __ARCH_X86_DEFS_H
|
||||||
|
|
||||||
|
#ifndef _GNU_SOURCE
|
||||||
#ifndef REG_GS
|
#ifndef REG_GS
|
||||||
# define REG_GS (0)
|
# define REG_GS (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef REG_FS
|
||||||
# define REG_FS (1)
|
# define REG_FS (1)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef REG_ES
|
||||||
# define REG_ES (2)
|
# define REG_ES (2)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef REG_DS
|
||||||
# define REG_DS (3)
|
# define REG_DS (3)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef REG_EDI
|
||||||
# define REG_EDI (4)
|
# define REG_EDI (4)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef REG_ESI
|
||||||
# define REG_ESI (5)
|
# define REG_ESI (5)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef REG_EBP
|
||||||
# define REG_EBP (6)
|
# define REG_EBP (6)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef REG_ESP
|
||||||
# define REG_ESP (7)
|
# define REG_ESP (7)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef REG_EBX
|
||||||
# define REG_EBX (8)
|
# define REG_EBX (8)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef REG_EDX
|
||||||
# define REG_EDX (9)
|
# define REG_EDX (9)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef REG_ECX
|
||||||
# define REG_ECX (10)
|
# define REG_ECX (10)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef REG_EAX
|
||||||
# define REG_EAX (11)
|
# define REG_EAX (11)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef REG_EIP
|
||||||
# define REG_EIP (14)
|
# define REG_EIP (14)
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#define REG_SZ (4)
|
#define REG_SZ (4)
|
||||||
|
|
||||||
|
|
|
@ -16,13 +16,14 @@
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
#include "defs.h"
|
||||||
|
|
||||||
|
|
||||||
extern void libucontext_trampoline(void);
|
extern void libucontext_trampoline(void);
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
libucontext_makecontext(ucontext_t *ucp, void (*func)(void), int argc, ...)
|
libucontext_makecontext(libucontext_ucontext_t *ucp, void (*func)(void), int argc, ...)
|
||||||
{
|
{
|
||||||
libucontext_greg_t *sp, *argp;
|
libucontext_greg_t *sp, *argp;
|
||||||
va_list va;
|
va_list va;
|
||||||
|
|
Loading…
Reference in New Issue