pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/emulators/qemu



Module Name:    pkgsrc
Committed By:   gson
Date:           Thu Jan  4 16:48:17 UTC 2018

Modified Files:
        pkgsrc/emulators/qemu: Makefile distinfo
        pkgsrc/emulators/qemu/patches: patch-configure
Added Files:
        pkgsrc/emulators/qemu/patches: patch-util_oslib-posix.c

Log Message:
emulators/qemu: check for posix_memalign in configure script

qemu incorrectly checks for the presence of posix_memalign() by
testing whether the preprocessor symbol _POSIX_C_SOURCE is defined.
This causes qemu to use valloc() instead of posix_memalign() on NetBSD,
even on versions where posix_memalign() is supported, wasting
memory when the required alignment is smaller than a page.  Fix this
by checking for posix_memalign() support in the configure script.


To generate a diff of this commit:
cvs rdiff -u -r1.177 -r1.178 pkgsrc/emulators/qemu/Makefile
cvs rdiff -u -r1.131 -r1.132 pkgsrc/emulators/qemu/distinfo
cvs rdiff -u -r1.21 -r1.22 pkgsrc/emulators/qemu/patches/patch-configure
cvs rdiff -u -r0 -r1.1 pkgsrc/emulators/qemu/patches/patch-util_oslib-posix.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/emulators/qemu/Makefile
diff -u pkgsrc/emulators/qemu/Makefile:1.177 pkgsrc/emulators/qemu/Makefile:1.178
--- pkgsrc/emulators/qemu/Makefile:1.177        Mon Jan  1 21:18:23 2018
+++ pkgsrc/emulators/qemu/Makefile      Thu Jan  4 16:48:17 2018
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.177 2018/01/01 21:18:23 adam Exp $
+# $NetBSD: Makefile,v 1.178 2018/01/04 16:48:17 gson Exp $
 
 DISTNAME=      qemu-2.11.0
-PKGREVISION=   1
+PKGREVISION=   2
 CATEGORIES=    emulators
 MASTER_SITES=  http://download.qemu-project.org/
 EXTRACT_SUFX=  .tar.xz

Index: pkgsrc/emulators/qemu/distinfo
diff -u pkgsrc/emulators/qemu/distinfo:1.131 pkgsrc/emulators/qemu/distinfo:1.132
--- pkgsrc/emulators/qemu/distinfo:1.131        Thu Dec 14 08:01:10 2017
+++ pkgsrc/emulators/qemu/distinfo      Thu Jan  4 16:48:17 2018
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.131 2017/12/14 08:01:10 adam Exp $
+$NetBSD: distinfo,v 1.132 2018/01/04 16:48:17 gson Exp $
 
 SHA1 (qemu-2.11.0.tar.xz) = 458f3382fe5028faa89174a7321d21a0a8058b63
 RMD160 (qemu-2.11.0.tar.xz) = 3e9094d77312ae762dae216d453871d26cfc7e3a
@@ -7,7 +7,7 @@ Size (qemu-2.11.0.tar.xz) = 28984736 byt
 SHA1 (patch-Makefile) = b3899fb8d0dd2f29bf3edd843836612e6e6c019c
 SHA1 (patch-audio_audio.c) = 98a1de2fd48638886b5d16f6a61dc72910e98b41
 SHA1 (patch-block.c) = 6f54da333696584067a7556b8cabfa8853758824
-SHA1 (patch-configure) = 179486600f69c2678bd8ffc62626d919e4688386
+SHA1 (patch-configure) = 6d0acd72edb8c602ffbc98fdbc161bc10aa968e2
 SHA1 (patch-contrib_ivshmem-client_ivshmem-client.c) = 40c8751607cbf66a37e4c4e08f2664b864e2e984
 SHA1 (patch-contrib_ivshmem-server_ivshmem-server.c) = d8f53432b5752f4263dc4ef96108a976a05147a3
 SHA1 (patch-hw_display_omap__dss.c) = 6b13242f28e32346bc70548c216c578d98fd3420
@@ -16,3 +16,4 @@ SHA1 (patch-hw_net_xilinx__axienet.c) = 
 SHA1 (patch-hw_usb_dev-mtp.c) = f5a446079d51b19eae6c2f5e0c9810c181e4f02d
 SHA1 (patch-slirp_tcp__subr.c) = f011c9dc58282e61b26017547a9884f30a6e6154
 SHA1 (patch-tests_Makefile.include) = 42345d697cb2e324dccf1d68bd8d61e8001c6162
+SHA1 (patch-util_oslib-posix.c) = 319ad18de96860172c8d10920fe2c117e787403e

Index: pkgsrc/emulators/qemu/patches/patch-configure
diff -u pkgsrc/emulators/qemu/patches/patch-configure:1.21 pkgsrc/emulators/qemu/patches/patch-configure:1.22
--- pkgsrc/emulators/qemu/patches/patch-configure:1.21  Thu Dec 14 02:03:53 2017
+++ pkgsrc/emulators/qemu/patches/patch-configure       Thu Jan  4 16:48:17 2018
@@ -1,22 +1,49 @@
-$NetBSD: patch-configure,v 1.21 2017/12/14 02:03:53 kamil Exp $
+$NetBSD: patch-configure,v 1.22 2018/01/04 16:48:17 gson Exp $
 
 Use ncursesw6-config; define NCURSES_WIDECHAR to fix building on Darwin (at least).
 
---- configure.orig     2017-12-13 17:27:20.000000000 +0000
+Check for posix_memalign in configure script instead of incorrectly
+testing _POSIX_C_SOURCE in util/oslib-posix.c
+
+--- configure.orig     2017-12-29 22:10:50.000000000 +0000
 +++ configure
-@@ -3165,12 +3165,13 @@ if test "$curses" != "no" ; then
-     curses_inc_list="$($pkg_config --cflags ncurses 2>/dev/null):"
-     curses_lib_list="$($pkg_config --libs ncurses 2>/dev/null):-lpdcurses"
-   else
--    curses_inc_list="$($pkg_config --cflags ncursesw 2>/dev/null):-I/usr/include/ncursesw:"
--    curses_lib_list="$($pkg_config --libs ncursesw 2>/dev/null):-lncursesw:-lcursesw"
-+    curses_inc_list="$(@PREFIX@/bin/ncursesw6-config --cflags 2>/dev/null):-I/usr/include/ncursesw:"
-+    curses_lib_list="$(@PREFIX@/bin/ncursesw6-config --libs 2>/dev/null):-lncursesw:-lcursesw"
-   fi
-   curses_found=no
-   cat > $TMPC << EOF
- #include <locale.h>
-+#define NCURSES_WIDECHAR 1
- #include <curses.h>
- #include <wchar.h>
- int main(void) {
+@@ -4542,6 +4542,21 @@ if compile_prog "" "" ; then
+ fi
+ 
+ ##########################################
++# check if we have posix_memalign()
++
++posix_memalign=no
++cat > $TMPC << EOF
++#include <stdlib.h>
++int main(void) {
++    void *p;
++    return posix_memalign(&p, 8, 8);
++}
++EOF
++if compile_prog "" "" ; then
++    posix_memalign=yes
++fi
++
++##########################################
+ # check if we have posix_syslog
+ 
+ posix_syslog=no
+@@ -5509,6 +5524,7 @@ echo "preadv support    $preadv"
+ echo "fdatasync         $fdatasync"
+ echo "madvise           $madvise"
+ echo "posix_madvise     $posix_madvise"
++echo "posix_memalign    $posix_memalign"
+ echo "libcap-ng support $cap_ng"
+ echo "vhost-net support $vhost_net"
+ echo "vhost-scsi support $vhost_scsi"
+@@ -5982,6 +5998,9 @@ fi
+ if test "$posix_madvise" = "yes" ; then
+   echo "CONFIG_POSIX_MADVISE=y" >> $config_host_mak
+ fi
++if test "$posix_memalign" = "yes" ; then
++  echo "CONFIG_POSIX_MEMALIGN=y" >> $config_host_mak
++fi
+ 
+ if test "$spice" = "yes" ; then
+   echo "CONFIG_SPICE=y" >> $config_host_mak

Added files:

Index: pkgsrc/emulators/qemu/patches/patch-util_oslib-posix.c
diff -u /dev/null pkgsrc/emulators/qemu/patches/patch-util_oslib-posix.c:1.1
--- /dev/null   Thu Jan  4 16:48:17 2018
+++ pkgsrc/emulators/qemu/patches/patch-util_oslib-posix.c      Thu Jan  4 16:48:17 2018
@@ -0,0 +1,16 @@
+$NetBSD: patch-util_oslib-posix.c,v 1.1 2018/01/04 16:48:17 gson Exp $
+
+Check for posix_memalign in configure script instead of incorrectly
+testing _POSIX_C_SOURCE in util/oslib-posix.c
+
+--- util/oslib-posix.c.orig    2017-12-13 17:27:20.000000000 +0000
++++ util/oslib-posix.c
+@@ -105,7 +105,7 @@ void *qemu_try_memalign(size_t alignment
+         alignment = sizeof(void*);
+     }
+ 
+-#if defined(_POSIX_C_SOURCE) && !defined(__sun__)
++#if defined(CONFIG_POSIX_MEMALIGN)
+     int ret;
+     ret = posix_memalign(&ptr, alignment, size);
+     if (ret != 0) {



Home | Main Index | Thread Index | Old Index