sim: bfin: check for kill/pread
If the host system (like Windows) doesn't support these functions, then make sure we don't use them. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
parent
d4862372c6
commit
9e6584c9a0
|
@ -1,3 +1,11 @@
|
||||||
|
2011-03-17 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
|
* configure.ac (AC_CHECK_FUNCS): Check for kill and pread.
|
||||||
|
* configure: Regenerate.
|
||||||
|
* config.in: Regenerate.
|
||||||
|
* interp.c (bfin_syscall): Check for HAVE_{KILL,PREAD} before using
|
||||||
|
kill or pread.
|
||||||
|
|
||||||
2011-03-15 Mike Frysinger <vapier@gentoo.org>
|
2011-03-15 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
* Makefile.in (dv-bfin_gpio.o): New target.
|
* Makefile.in (dv-bfin_gpio.o): New target.
|
||||||
|
|
|
@ -55,6 +55,9 @@
|
||||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||||
#undef HAVE_INTTYPES_H
|
#undef HAVE_INTTYPES_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `kill' function. */
|
||||||
|
#undef HAVE_KILL
|
||||||
|
|
||||||
/* Define to 1 if you have the `nsl' library (-lnsl). */
|
/* Define to 1 if you have the `nsl' library (-lnsl). */
|
||||||
#undef HAVE_LIBNSL
|
#undef HAVE_LIBNSL
|
||||||
|
|
||||||
|
@ -79,6 +82,9 @@
|
||||||
/* Define to 1 if you have the <net/if.h> header file. */
|
/* Define to 1 if you have the <net/if.h> header file. */
|
||||||
#undef HAVE_NET_IF_H
|
#undef HAVE_NET_IF_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `pread' function. */
|
||||||
|
#undef HAVE_PREAD
|
||||||
|
|
||||||
/* Define to 1 if you have the `setgid' function. */
|
/* Define to 1 if you have the `setgid' function. */
|
||||||
#undef HAVE_SETGID
|
#undef HAVE_SETGID
|
||||||
|
|
||||||
|
|
|
@ -5151,7 +5151,7 @@ fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
for ac_func in getuid getgid geteuid getegid setuid setgid mmap munmap
|
for ac_func in getuid getgid geteuid getegid setuid setgid mmap munmap kill pread
|
||||||
do :
|
do :
|
||||||
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
|
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
|
||||||
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
|
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
|
||||||
|
|
|
@ -47,7 +47,7 @@ SIM_AC_OPTION_HARDWARE(yes,,\
|
||||||
eth_phy \
|
eth_phy \
|
||||||
)
|
)
|
||||||
|
|
||||||
AC_CHECK_FUNCS([getuid getgid geteuid getegid setuid setgid mmap munmap])
|
AC_CHECK_FUNCS([getuid getgid geteuid getegid setuid setgid mmap munmap kill pread])
|
||||||
AC_CHECK_HEADERS([sys/ioctl.h sys/mman.h net/if.h linux/if_tun.h linux/mii.h])
|
AC_CHECK_HEADERS([sys/ioctl.h sys/mman.h net/if.h linux/if_tun.h linux/mii.h])
|
||||||
|
|
||||||
BFIN_SIM_EXTRA_OBJS=
|
BFIN_SIM_EXTRA_OBJS=
|
||||||
|
|
|
@ -297,6 +297,7 @@ bfin_syscall (SIM_CPU *cpu)
|
||||||
sc.errcode = TARGET_ENOSYS;
|
sc.errcode = TARGET_ENOSYS;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
#ifdef HAVE_PREAD
|
||||||
char *data = xmalloc (sc.arg2);
|
char *data = xmalloc (sc.arg2);
|
||||||
|
|
||||||
/* XXX: Should add a cb->pread. */
|
/* XXX: Should add a cb->pread. */
|
||||||
|
@ -306,6 +307,9 @@ bfin_syscall (SIM_CPU *cpu)
|
||||||
sc.errcode = TARGET_EINVAL;
|
sc.errcode = TARGET_EINVAL;
|
||||||
|
|
||||||
free (data);
|
free (data);
|
||||||
|
#else
|
||||||
|
sc.errcode = TARGET_ENOSYS;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sc.errcode)
|
if (sc.errcode)
|
||||||
|
@ -495,8 +499,13 @@ bfin_syscall (SIM_CPU *cpu)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
#ifdef HAVE_KILL
|
||||||
sc.result = kill (sc.arg1, sc.arg2);
|
sc.result = kill (sc.arg1, sc.arg2);
|
||||||
goto sys_finish;
|
goto sys_finish;
|
||||||
|
#else
|
||||||
|
sc.result = -1;
|
||||||
|
sc.errcode = TARGET_ENOSYS;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue