mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-08 10:13:56 -06:00
NPTL host detection and futex syscall passthrough.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4616 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
b5fc909e02
commit
bd0c5661bf
2 changed files with 90 additions and 0 deletions
29
configure
vendored
29
configure
vendored
|
@ -112,6 +112,7 @@ darwin_user="no"
|
|||
build_docs="no"
|
||||
uname_release=""
|
||||
curses="yes"
|
||||
nptl="yes"
|
||||
|
||||
# OS specific
|
||||
targetos=`uname -s`
|
||||
|
@ -331,6 +332,8 @@ for opt do
|
|||
;;
|
||||
--disable-curses) curses="no"
|
||||
;;
|
||||
--disable-nptl) nptl="no"
|
||||
;;
|
||||
*) echo "ERROR: unknown option $opt"; show_help="yes"
|
||||
;;
|
||||
esac
|
||||
|
@ -424,6 +427,7 @@ echo " --enable-dsound enable DirectSound audio driver"
|
|||
echo " --disable-brlapi disable BrlAPI"
|
||||
echo " --disable-vnc-tls disable TLS encryption for VNC server"
|
||||
echo " --disable-curses disable curses output"
|
||||
echo " --disable-nptl disable usermode NPTL support"
|
||||
echo " --enable-system enable all system emulation targets"
|
||||
echo " --disable-system disable all system emulation targets"
|
||||
echo " --enable-linux-user enable all linux usermode emulation targets"
|
||||
|
@ -641,6 +645,24 @@ int main(void) {
|
|||
}
|
||||
EOF
|
||||
|
||||
# Check host NPTL support
|
||||
cat > $TMPC <<EOF
|
||||
#include <sched.h>
|
||||
#include <sys/futex.h>
|
||||
void foo()
|
||||
{
|
||||
#if !defined(CLONE_SETTLS) || !defined(FUTEX_WAIT)
|
||||
#error bork
|
||||
#endif
|
||||
}
|
||||
EOF
|
||||
|
||||
if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC 2> /dev/null ; then
|
||||
:
|
||||
else
|
||||
nptl="no"
|
||||
fi
|
||||
|
||||
##########################################
|
||||
# SDL probe
|
||||
|
||||
|
@ -839,6 +861,7 @@ echo "brlapi support $brlapi"
|
|||
echo "Documentation $build_docs"
|
||||
[ ! -z "$uname_release" ] && \
|
||||
echo "uname -r $uname_release"
|
||||
echo "NPTL support $nptl"
|
||||
|
||||
if test $sdl_too_old = "yes"; then
|
||||
echo "-> Your SDL version is too old - please upgrade to have SDL support"
|
||||
|
@ -1190,6 +1213,7 @@ echo "#include \"../config-host.h\"" >> $config_h
|
|||
|
||||
bflt="no"
|
||||
elfload32="no"
|
||||
target_nptl="no"
|
||||
interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
|
||||
echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
|
||||
|
||||
|
@ -1232,6 +1256,7 @@ case "$target_cpu" in
|
|||
echo "#define TARGET_ARCH \"arm\"" >> $config_h
|
||||
echo "#define TARGET_ARM 1" >> $config_h
|
||||
bflt="yes"
|
||||
target_nptl="yes"
|
||||
;;
|
||||
cris)
|
||||
echo "TARGET_ARCH=cris" >> $config_mak
|
||||
|
@ -1379,6 +1404,10 @@ if test "$target_user_only" = "yes" -a "$bflt" = "yes"; then
|
|||
echo "TARGET_HAS_BFLT=yes" >> $config_mak
|
||||
echo "#define TARGET_HAS_BFLT 1" >> $config_h
|
||||
fi
|
||||
if test "$target_user_only" = "yes" \
|
||||
-a "$nptl" = "yes" -a "$target_nptl" = "yes"; then
|
||||
echo "#define USE_NPTL 1" >> $config_h
|
||||
fi
|
||||
# 32 bit ELF loader in addition to native 64 bit loader?
|
||||
if test "$target_user_only" = "yes" -a "$elfload32" = "yes"; then
|
||||
echo "TARGET_HAS_ELFLOAD32=yes" >> $config_mak
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue