From df36de6507e735faee3448687263a5c877d5f074 Mon Sep 17 00:00:00 2001 From: bellard Date: Sat, 2 Oct 2004 14:11:28 +0000 Subject: [PATCH] fixes for dietlibc --- stddef.h | 2 +- tcc.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/stddef.h b/stddef.h index 24d74440..89bd7b09 100644 --- a/stddef.h +++ b/stddef.h @@ -10,7 +10,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t; /* need to do that because of glibc 2.1 bug (should have a way to test presence of 'long long' without __GNUC__, or TCC should define __GNUC__ ? */ -#ifndef __int8_t_defined +#if !defined(__int8_t_defined) && !defined(__dietlibc__) #define __int8_t_defined typedef char int8_t; typedef short int int16_t; diff --git a/tcc.c b/tcc.c index 655a058a..63302065 100644 --- a/tcc.c +++ b/tcc.c @@ -9076,15 +9076,19 @@ static int rt_get_caller_pc(unsigned long *paddr, int i; if (level == 0) { -#ifdef __FreeBSD__ +#if defined(__FreeBSD__) *paddr = uc->uc_mcontext.mc_eip; +#elif defined(__dietlibc__) + *paddr = uc->uc_mcontext.eip; #else *paddr = uc->uc_mcontext.gregs[REG_EIP]; #endif return 0; } else { -#ifdef __FreeBSD__ +#if defined(__FreeBSD__) fp = uc->uc_mcontext.mc_ebp; +#elif defined(__dietlibc__) + fp = uc->uc_mcontext.ebp; #else fp = uc->uc_mcontext.gregs[REG_EBP]; #endif