fixes for dietlibc

This commit is contained in:
bellard 2004-10-02 14:11:28 +00:00
parent c52df4de38
commit df36de6507
2 changed files with 7 additions and 3 deletions

View File

@ -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;

8
tcc.c
View File

@ -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