From 36759ddacf3856599873f7c181c7e01c3a8d5f1f Mon Sep 17 00:00:00 2001 From: Christian Jullien Date: Sat, 15 Oct 2016 14:50:17 +0200 Subject: [PATCH] Start support of OpenBSD, tcc compiler can be produced from source tree --- tcc.h | 4 +++- tccrun.c | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/tcc.h b/tcc.h index 8aa2c474..efb1c926 100644 --- a/tcc.h +++ b/tcc.h @@ -39,7 +39,9 @@ #ifndef _WIN32 # include # include -# include +# ifndef __OpenBSD__ +# include +# endif # include # ifndef CONFIG_TCC_STATIC # include diff --git a/tccrun.c b/tccrun.c index 4903f903..2fcecd94 100644 --- a/tccrun.c +++ b/tccrun.c @@ -496,6 +496,8 @@ static int rt_get_caller_pc(addr_t *paddr, ucontext_t *uc, int level) *paddr = uc->uc_mcontext.eip; #elif defined(__NetBSD__) *paddr = uc->uc_mcontext.__gregs[_REG_EIP]; +#elif defined(__OpenBSD__) + *paddr = uc->sc_eip; #else *paddr = uc->uc_mcontext.gregs[REG_EIP]; #endif @@ -509,6 +511,8 @@ static int rt_get_caller_pc(addr_t *paddr, ucontext_t *uc, int level) fp = uc->uc_mcontext.ebp; #elif defined(__NetBSD__) fp = uc->uc_mcontext.__gregs[_REG_EBP]; +#elif defined(__OpenBSD__) + *paddr = uc->sc_ebp; #else fp = uc->uc_mcontext.gregs[REG_EBP]; #endif -- 2.11.4.GIT