aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormalc <av1474@comtv.ru>2011-12-12 00:47:40 +0400
committermalc <av1474@comtv.ru>2011-12-12 00:47:40 +0400
commit5bf1356026f920de1158f32bb8472ed120a1131f (patch)
tree261d03c024420032f78a40b1b04fcdaccf8dbaee
parentf7e80adf3cc4b99b8230e6474d0518363773915f (diff)
parentdaf767b16aeb32e5b9a77066ba130fe723f875ca (diff)
Merge branch 'master' of git://git.qemu.org/qemu
-rw-r--r--bsd-user/bsdload.c2
-rw-r--r--bsd-user/elfload.c5
-rwxr-xr-xconfigure5
-rw-r--r--exec.c6
4 files changed, 8 insertions, 10 deletions
diff --git a/bsd-user/bsdload.c b/bsd-user/bsdload.c
index 6d9bb6fb4e..2abc7136e0 100644
--- a/bsd-user/bsdload.c
+++ b/bsd-user/bsdload.c
@@ -196,7 +196,7 @@ int loader_exec(const char * filename, char ** argv, char ** envp,
/* Something went wrong, return the inode and free the argument pages*/
for (i=0 ; i<MAX_ARG_PAGES ; i++) {
- free(bprm.page[i]);
+ g_free(bprm.page[i]);
}
return(retval);
}
diff --git a/bsd-user/elfload.c b/bsd-user/elfload.c
index 1ef1f972fc..12888840a4 100644
--- a/bsd-user/elfload.c
+++ b/bsd-user/elfload.c
@@ -641,8 +641,7 @@ static abi_ulong copy_elf_strings(int argc,char ** argv, void **page,
offset = p % TARGET_PAGE_SIZE;
pag = (char *)page[p/TARGET_PAGE_SIZE];
if (!pag) {
- pag = (char *)malloc(TARGET_PAGE_SIZE);
- memset(pag, 0, TARGET_PAGE_SIZE);
+ pag = g_try_malloc0(TARGET_PAGE_SIZE);
page[p/TARGET_PAGE_SIZE] = pag;
if (!pag)
return 0;
@@ -696,7 +695,7 @@ static abi_ulong setup_arg_pages(abi_ulong p, struct linux_binprm *bprm,
info->rss++;
/* FIXME - check return value of memcpy_to_target() for failure */
memcpy_to_target(stack_base, bprm->page[i], TARGET_PAGE_SIZE);
- free(bprm->page[i]);
+ g_free(bprm->page[i]);
}
stack_base += TARGET_PAGE_SIZE;
}
diff --git a/configure b/configure
index 5fbd81285f..2686657f0f 100755
--- a/configure
+++ b/configure
@@ -1111,7 +1111,7 @@ fi
if test "$pie" = ""; then
case "$cpu-$targetos" in
- i386-Linux|x86_64-Linux)
+ i386-Linux|x86_64-Linux|i386-OpenBSD|x86_64-OpenBSD)
;;
*)
pie="no"
@@ -1523,9 +1523,6 @@ EOF
if compile_prog "$sdl_cflags" "$sdl_libs" ; then
sdl_libs="$sdl_libs -lX11"
fi
- if test "$mingw32" = "yes" ; then
- sdl_libs="`echo $sdl_libs | sed s/-mwindows//g` -mconsole"
- fi
libs_softmmu="$sdl_libs $libs_softmmu"
fi
diff --git a/exec.c b/exec.c
index 6b92198e62..d8b2180170 100644
--- a/exec.c
+++ b/exec.c
@@ -1603,8 +1603,10 @@ void cpu_set_log(int log_flags)
static char logfile_buf[4096];
setvbuf(logfile, logfile_buf, _IOLBF, sizeof(logfile_buf));
}
-#elif !defined(_WIN32)
- /* Win32 doesn't support line-buffering and requires size >= 2 */
+#elif defined(_WIN32)
+ /* Win32 doesn't support line-buffering, so use unbuffered output. */
+ setvbuf(logfile, NULL, _IONBF, 0);
+#else
setvbuf(logfile, NULL, _IOLBF, 0);
#endif
log_append = 1;