qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH for-5.2? 0/4] Fix build failures on Haiku
@ 2020-11-14 16:51 Thomas Huth
  2020-11-14 16:51 ` [PATCH 1/4] configure: Fix the _BSD_SOURCE define for the Haiku build Thomas Huth
                   ` (3 more replies)
  0 siblings, 4 replies; 15+ messages in thread
From: Thomas Huth @ 2020-11-14 16:51 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, Alexander von Gluck IV, Stefan Berger,
	Philippe Mathieu-Daudé, David CARLIER, kraxel,
	Alex Bennée

Some patches to fix build failures on Haiku, and the final patch
adds a VM for testing compilation there. "make check" is still
failing, but at least compiling of the sources can now be tested.

Alexander von Gluck IV (1):
  tests/vm: Add Haiku test based on their vagrant images

Thomas Huth (3):
  configure: Fix the _BSD_SOURCE define for the Haiku build
  configure: Do not build pc-bios/optionrom on Haiku
  configure: Add a proper check for sys/ioccom.h and use it in
    tpm_ioctl.h

 backends/tpm/tpm_ioctl.h  |   4 ++
 configure                 |  15 ++++-
 nbd/nbd-internal.h        |   2 +-
 tests/keys/vagrant        |  27 +++++++++
 tests/keys/vagrant.pub    |   1 +
 tests/vm/Makefile.include |   3 +-
 tests/vm/basevm.py        |   5 +-
 tests/vm/haiku.x86_64     | 119 ++++++++++++++++++++++++++++++++++++++
 8 files changed, 169 insertions(+), 7 deletions(-)
 create mode 100644 tests/keys/vagrant
 create mode 100644 tests/keys/vagrant.pub
 create mode 100755 tests/vm/haiku.x86_64

-- 
2.18.4



^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 1/4] configure: Fix the _BSD_SOURCE define for the Haiku build
  2020-11-14 16:51 [PATCH for-5.2? 0/4] Fix build failures on Haiku Thomas Huth
@ 2020-11-14 16:51 ` Thomas Huth
  2020-11-14 23:44   ` Stefan Berger
  2020-11-14 16:51 ` [PATCH 2/4] configure: Do not build pc-bios/optionrom on Haiku Thomas Huth
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 15+ messages in thread
From: Thomas Huth @ 2020-11-14 16:51 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, Alexander von Gluck IV, Stefan Berger,
	Philippe Mathieu-Daudé, David CARLIER, kraxel,
	Alex Bennée

The Haiku VM that we are going to add is using _BSD_SOURCE instead
of BSD_SOURCE (without initial underscore)... according to David
Carlier, the BSD_SOURCE without underscore was likely a typo, so
let's simply add the underscore there now.
This fixes the build failure with the bswapXX() macros not being
defined after including <endian.h>.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 configure | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure b/configure
index 4cef321d9d..a273a93377 100755
--- a/configure
+++ b/configure
@@ -790,7 +790,7 @@ SunOS)
 ;;
 Haiku)
   haiku="yes"
-  QEMU_CFLAGS="-DB_USE_POSITIVE_POSIX_ERRORS -DBSD_SOURCE $QEMU_CFLAGS"
+  QEMU_CFLAGS="-DB_USE_POSITIVE_POSIX_ERRORS -D_BSD_SOURCE $QEMU_CFLAGS"
 ;;
 Linux)
   audio_drv_list="try-pa oss"
-- 
2.18.4



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 2/4] configure: Do not build pc-bios/optionrom on Haiku
  2020-11-14 16:51 [PATCH for-5.2? 0/4] Fix build failures on Haiku Thomas Huth
  2020-11-14 16:51 ` [PATCH 1/4] configure: Fix the _BSD_SOURCE define for the Haiku build Thomas Huth
@ 2020-11-14 16:51 ` Thomas Huth
  2020-11-14 23:44   ` Stefan Berger
  2020-11-16 11:51   ` Philippe Mathieu-Daudé
  2020-11-14 16:51 ` [PATCH 3/4] configure: Add a proper check for sys/ioccom.h and use it in tpm_ioctl.h Thomas Huth
  2020-11-14 16:51 ` [PATCH 4/4] tests/vm: Add Haiku test based on their vagrant images Thomas Huth
  3 siblings, 2 replies; 15+ messages in thread
From: Thomas Huth @ 2020-11-14 16:51 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, Alexander von Gluck IV, Stefan Berger,
	Philippe Mathieu-Daudé, David CARLIER, kraxel,
	Alex Bennée

Compilation of pc-bios/optionrom fails on Haiku with:

   BUILD   pvh.img
 ld: pvh_main.o: in function `pvh_load_kernel':
 pc-bios/optionrom/pvh_main.c:73: undefined reference to `GLOBAL_OFFSET_TABLE_'
 Makefile:57: recipe for target 'pvh.img' failed
 make[1]: *** [pvh.img] Error 1

Let's simply disable it, like it is already done on macOS and Solaris.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 configure | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure b/configure
index a273a93377..c0acda164d 100755
--- a/configure
+++ b/configure
@@ -5842,7 +5842,7 @@ fi
 roms=
 if { test "$cpu" = "i386" || test "$cpu" = "x86_64"; } && \
         test "$targetos" != "Darwin" && test "$targetos" != "SunOS" && \
-        test "$softmmu" = yes ; then
+        test "$targetos" != "Haiku" && test "$softmmu" = yes ; then
     # Different host OS linkers have different ideas about the name of the ELF
     # emulation. Linux and OpenBSD/amd64 use 'elf_i386'; FreeBSD uses the _fbsd
     # variant; OpenBSD/i386 uses the _obsd variant; and Windows uses i386pe.
-- 
2.18.4



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 3/4] configure: Add a proper check for sys/ioccom.h and use it in tpm_ioctl.h
  2020-11-14 16:51 [PATCH for-5.2? 0/4] Fix build failures on Haiku Thomas Huth
  2020-11-14 16:51 ` [PATCH 1/4] configure: Fix the _BSD_SOURCE define for the Haiku build Thomas Huth
  2020-11-14 16:51 ` [PATCH 2/4] configure: Do not build pc-bios/optionrom on Haiku Thomas Huth
@ 2020-11-14 16:51 ` Thomas Huth
  2020-11-14 16:56   ` 罗勇刚(Yonggang Luo)
                     ` (2 more replies)
  2020-11-14 16:51 ` [PATCH 4/4] tests/vm: Add Haiku test based on their vagrant images Thomas Huth
  3 siblings, 3 replies; 15+ messages in thread
From: Thomas Huth @ 2020-11-14 16:51 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, Alexander von Gluck IV, Stefan Berger,
	Philippe Mathieu-Daudé, David CARLIER, kraxel,
	Alex Bennée

On Solaris and Haiku, the _IO() macros are defined in <sys/ioccom.h>.
Add a proper check for this header to our configure scripts, and
make sure to include the header in tpm_ioctl.h to fix a build failure
on Solaris and Haiku.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 backends/tpm/tpm_ioctl.h |  4 ++++
 configure                | 11 ++++++++++-
 nbd/nbd-internal.h       |  2 +-
 3 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/backends/tpm/tpm_ioctl.h b/backends/tpm/tpm_ioctl.h
index f5f5c553a9..bd6c12cb86 100644
--- a/backends/tpm/tpm_ioctl.h
+++ b/backends/tpm/tpm_ioctl.h
@@ -12,6 +12,10 @@
 #include <sys/uio.h>
 #include <sys/ioctl.h>
 
+#ifdef HAVE_SYS_IOCCOM_H
+#include <sys/ioccom.h>
+#endif
+
 /*
  * Every response from a command involving a TPM command execution must hold
  * the ptm_res as the first element.
diff --git a/configure b/configure
index c0acda164d..764e903748 100755
--- a/configure
+++ b/configure
@@ -3123,6 +3123,13 @@ if check_include "sys/signal.h" ; then
   have_sys_signal_h=yes
 fi
 
+#########################################
+# sys/ioccom.h check
+have_sys_ioccom_h=no
+if check_include "sys/ioccom.h" ; then
+  have_sys_ioccom_h=yes
+fi
+
 ##########################################
 # VTE probe
 
@@ -6214,7 +6221,9 @@ fi
 if test "$have_sys_signal_h" = "yes" ; then
     echo "HAVE_SYS_SIGNAL_H=y" >> $config_host_mak
 fi
-
+if test "$have_sys_ioccom_h" = "yes" ; then
+    echo "HAVE_SYS_IOCCOM_H=y" >> $config_host_mak
+fi
 # Work around a system header bug with some kernel/XFS header
 # versions where they both try to define 'struct fsxattr':
 # xfs headers will not try to redefine structs from linux headers
diff --git a/nbd/nbd-internal.h b/nbd/nbd-internal.h
index 60629ef160..1b2141ab4b 100644
--- a/nbd/nbd-internal.h
+++ b/nbd/nbd-internal.h
@@ -19,7 +19,7 @@
 #ifndef _WIN32
 #include <sys/ioctl.h>
 #endif
-#if defined(__sun__) || defined(__HAIKU__)
+#ifdef HAVE_SYS_IOCCOM_H
 #include <sys/ioccom.h>
 #endif
 
-- 
2.18.4



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 4/4] tests/vm: Add Haiku test based on their vagrant images
  2020-11-14 16:51 [PATCH for-5.2? 0/4] Fix build failures on Haiku Thomas Huth
                   ` (2 preceding siblings ...)
  2020-11-14 16:51 ` [PATCH 3/4] configure: Add a proper check for sys/ioccom.h and use it in tpm_ioctl.h Thomas Huth
@ 2020-11-14 16:51 ` Thomas Huth
  3 siblings, 0 replies; 15+ messages in thread
From: Thomas Huth @ 2020-11-14 16:51 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, Alexander von Gluck IV, Stefan Berger,
	Philippe Mathieu-Daudé, David CARLIER, kraxel,
	Alex Bennée

From: Alexander von Gluck IV <kallisti5@unixzen.com>

Signed-off-by: Alexander von Gluck IV <kallisti5@unixzen.com>
[PMD: Avoid recreating the image each time]
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
[thuth: Add ninja package, /usr/bin/env hack and --disable-slirp]
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 tests/keys/vagrant        |  27 +++++++++
 tests/keys/vagrant.pub    |   1 +
 tests/vm/Makefile.include |   3 +-
 tests/vm/basevm.py        |   5 +-
 tests/vm/haiku.x86_64     | 119 ++++++++++++++++++++++++++++++++++++++
 5 files changed, 152 insertions(+), 3 deletions(-)
 create mode 100644 tests/keys/vagrant
 create mode 100644 tests/keys/vagrant.pub
 create mode 100755 tests/vm/haiku.x86_64

diff --git a/tests/keys/vagrant b/tests/keys/vagrant
new file mode 100644
index 0000000000..7d6a083909
--- /dev/null
+++ b/tests/keys/vagrant
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEogIBAAKCAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzI
+w+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoP
+kcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2
+hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NO
+Td0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcW
+yLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQIBIwKCAQEA4iqWPJXtzZA68mKd
+ELs4jJsdyky+ewdZeNds5tjcnHU5zUYE25K+ffJED9qUWICcLZDc81TGWjHyAqD1
+Bw7XpgUwFgeUJwUlzQurAv+/ySnxiwuaGJfhFM1CaQHzfXphgVml+fZUvnJUTvzf
+TK2Lg6EdbUE9TarUlBf/xPfuEhMSlIE5keb/Zz3/LUlRg8yDqz5w+QWVJ4utnKnK
+iqwZN0mwpwU7YSyJhlT4YV1F3n4YjLswM5wJs2oqm0jssQu/BT0tyEXNDYBLEF4A
+sClaWuSJ2kjq7KhrrYXzagqhnSei9ODYFShJu8UWVec3Ihb5ZXlzO6vdNQ1J9Xsf
+4m+2ywKBgQD6qFxx/Rv9CNN96l/4rb14HKirC2o/orApiHmHDsURs5rUKDx0f9iP
+cXN7S1uePXuJRK/5hsubaOCx3Owd2u9gD6Oq0CsMkE4CUSiJcYrMANtx54cGH7Rk
+EjFZxK8xAv1ldELEyxrFqkbE4BKd8QOt414qjvTGyAK+OLD3M2QdCQKBgQDtx8pN
+CAxR7yhHbIWT1AH66+XWN8bXq7l3RO/ukeaci98JfkbkxURZhtxV/HHuvUhnPLdX
+3TwygPBYZFNo4pzVEhzWoTtnEtrFueKxyc3+LjZpuo+mBlQ6ORtfgkr9gBVphXZG
+YEzkCD3lVdl8L4cw9BVpKrJCs1c5taGjDgdInQKBgHm/fVvv96bJxc9x1tffXAcj
+3OVdUN0UgXNCSaf/3A/phbeBQe9xS+3mpc4r6qvx+iy69mNBeNZ0xOitIjpjBo2+
+dBEjSBwLk5q5tJqHmy/jKMJL4n9ROlx93XS+njxgibTvU6Fp9w+NOFD/HvxB3Tcz
+6+jJF85D5BNAG3DBMKBjAoGBAOAxZvgsKN+JuENXsST7F89Tck2iTcQIT8g5rwWC
+P9Vt74yboe2kDT531w8+egz7nAmRBKNM751U/95P9t88EDacDI/Z2OwnuFQHCPDF
+llYOUI+SpLJ6/vURRbHSnnn8a/XG+nzedGH5JGqEJNQsz+xT2axM0/W/CRknmGaJ
+kda/AoGANWrLCz708y7VYgAtW2Uf1DPOIYMdvo6fxIB5i9ZfISgcJ/bbCUkFrhoH
++vq/5CIWxCPp0f85R4qxxQ5ihxJ0YDQT9Jpx4TMss4PSavPaBH3RXow5Ohe+bYoQ
+NE5OgEXk2wVfZczCZpigBKbKZHNYcelXtTt/nP3rsCuGcM4h53s=
+-----END RSA PRIVATE KEY-----
diff --git a/tests/keys/vagrant.pub b/tests/keys/vagrant.pub
new file mode 100644
index 0000000000..b8d012d787
--- /dev/null
+++ b/tests/keys/vagrant.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== well-known vagrant key for qemu-test, do not use on any machine exposed to an external network
diff --git a/tests/vm/Makefile.include b/tests/vm/Makefile.include
index 61f893ffdc..e94d95ec54 100644
--- a/tests/vm/Makefile.include
+++ b/tests/vm/Makefile.include
@@ -4,7 +4,7 @@
 
 EFI_AARCH64 = $(wildcard $(BUILD_DIR)/pc-bios/edk2-aarch64-code.fd)
 
-IMAGES := freebsd netbsd openbsd centos fedora
+IMAGES := freebsd netbsd openbsd centos fedora haiku.x86_64
 ifneq ($(GENISOIMAGE),)
 IMAGES += ubuntu.i386 centos
 ifneq ($(EFI_AARCH64),)
@@ -41,6 +41,7 @@ endif
 else
 	@echo "  (install genisoimage to build centos/ubuntu images)"
 endif
+	@echo "  vm-build-haiku.x86_64           - Build QEMU in Haiku VM"
 	@echo ""
 	@echo "  vm-build-all                    - Build QEMU in all VMs"
 	@echo "  vm-clean-all                    - Clean up VM images"
diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py
index 3fac20e929..00f1d5ca8d 100644
--- a/tests/vm/basevm.py
+++ b/tests/vm/basevm.py
@@ -44,6 +44,7 @@ DEFAULT_CONFIG = {
     'machine'         : 'pc',
     'guest_user'      : "qemu",
     'guest_pass'      : "qemupass",
+    'root_user'       : "root",
     'root_pass'       : "qemupass",
     'ssh_key_file'    : SSH_KEY_FILE,
     'ssh_pub_key_file': SSH_PUB_KEY_FILE,
@@ -245,13 +246,13 @@ class BaseVM(object):
         return self._ssh_do(self._config["guest_user"], cmd, False)
 
     def ssh_root(self, *cmd):
-        return self._ssh_do("root", cmd, False)
+        return self._ssh_do(self._config["root_user"], cmd, False)
 
     def ssh_check(self, *cmd):
         self._ssh_do(self._config["guest_user"], cmd, True)
 
     def ssh_root_check(self, *cmd):
-        self._ssh_do("root", cmd, True)
+        self._ssh_do(self._config["root_user"], cmd, True)
 
     def build_image(self, img):
         raise NotImplementedError
diff --git a/tests/vm/haiku.x86_64 b/tests/vm/haiku.x86_64
new file mode 100755
index 0000000000..37af48bf1b
--- /dev/null
+++ b/tests/vm/haiku.x86_64
@@ -0,0 +1,119 @@
+#!/usr/bin/env python3
+#
+# Haiku VM image
+#
+# Copyright 2020 Haiku, Inc.
+#
+# Authors:
+#  Alexander von Gluck IV <kallisti5@unixzen.com>
+#
+# This code is licensed under the GPL version 2 or later.  See
+# the COPYING file in the top-level directory.
+#
+
+import os
+import re
+import sys
+import time
+import socket
+import subprocess
+import basevm
+
+VAGRANT_KEY_FILE = os.path.join(os.path.dirname(__file__),
+    "..", "keys", "vagrant")
+
+VAGRANT_PUB_KEY_FILE = os.path.join(os.path.dirname(__file__),
+    "..", "keys", "vagrant.pub")
+
+HAIKU_CONFIG = {
+    'cpu'             : "max",
+    'machine'         : 'pc',
+    'guest_user'      : "vagrant",
+    'guest_pass'      : "",
+    'root_user'       : "vagrant",
+    'root_pass'       : "",
+    'ssh_key_file'    : VAGRANT_KEY_FILE,
+    'ssh_pub_key_file': VAGRANT_PUB_KEY_FILE,
+    'memory'          : "4G",
+    'extra_args'      : [],
+    'qemu_args'       : "-device VGA",
+    'dns'             : "",
+    'ssh_port'        : 0,
+    'install_cmds'    : "",
+    'boot_dev_type'   : "block",
+    'ssh_timeout'     : 1,
+}
+
+class HaikuVM(basevm.BaseVM):
+    name = "haiku"
+    arch = "x86_64"
+
+    link = "https://app.vagrantup.com/haiku-os/boxes/r1beta2-x86_64/versions/20200702/providers/libvirt.box"
+    csum = "41c38b316e0cbdbc66b5dbaf3612b866700a4f35807cb1eb266a5bf83e9e68d5"
+
+    poweroff = "shutdown"
+
+    requirements = [
+        "devel:libbz2",
+        "devel:libcapstone",
+        "devel:libcurl",
+        "devel:libfdt",
+        "devel:libgcrypt",
+        "devel:libgl",
+        "devel:libglib_2.0",
+        "devel:libgnutls",
+        "devel:libgpg_error",
+        "devel:libintl",
+        "devel:libjpeg",
+        "devel:liblzo2",
+        "devel:libncursesw",
+        "devel:libnettle",
+        "devel:libpixman_1",
+        "devel:libpng16",
+        "devel:libsdl2_2.0",
+        "devel:libsnappy",
+        "devel:libssh2",
+        "devel:libtasn1",
+        "devel:libusb_1.0",
+        "devel:libz",
+        "ninja",
+        "setuptools_python3"
+    ]
+
+    # https://dev.haiku-os.org/ticket/16512 virtio disk1 shows up as 0 (reversed order)
+    BUILD_SCRIPT = """
+        set -e;
+        rm -rf /tmp/qemu-test.*
+        cd $(mktemp -d /tmp/qemu-test.XXXXXX);
+        mkdir src build; cd src;
+        tar -xf /dev/disk/virtual/virtio_block/0/raw;
+        mkdir -p /usr/bin
+        ln -s /boot/system/bin/env /usr/bin/env
+        cd ../build
+        ../src/configure --disable-slirp {configure_opts};
+        make --output-sync -j{jobs} {target} {verbose};
+    """
+
+    def build_image(self, img):
+        self.print_step("Downloading disk image")
+        tarball = self._download_with_cache(self.link, sha256sum=self.csum)
+
+        self.print_step("Extracting disk image")
+
+        subprocess.check_call(["tar", "xzf", tarball, "./box.img", "-O"],
+                              stdout=open(img, 'wb'))
+
+        self.print_step("Preparing disk image")
+        self.boot(img)
+
+        # Wait for ssh to be available.
+        self.wait_ssh(wait_root=True, cmd="exit 0")
+
+        # Install packages
+        self.ssh_root("pkgman install -y %s" % " ".join(self.requirements))
+        self.graceful_shutdown()
+
+        self.print_step("All done")
+
+if __name__ == "__main__":
+    sys.exit(basevm.main(HaikuVM, config=HAIKU_CONFIG))
-- 
2.18.4



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH 3/4] configure: Add a proper check for sys/ioccom.h and use it in tpm_ioctl.h
  2020-11-14 16:51 ` [PATCH 3/4] configure: Add a proper check for sys/ioccom.h and use it in tpm_ioctl.h Thomas Huth
@ 2020-11-14 16:56   ` 罗勇刚(Yonggang Luo)
  2020-11-15 14:00     ` Thomas Huth
  2020-11-14 23:43   ` Stefan Berger
  2020-11-15 15:23   ` [PATCH v2 " Thomas Huth
  2 siblings, 1 reply; 15+ messages in thread
From: 罗勇刚(Yonggang Luo) @ 2020-11-14 16:56 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Peter Maydell, Alexander von Gluck IV, Stefan Berger,
	Philippe Mathieu-Daudé, qemu-level, David CARLIER,
	Gerd Hoffmann, Alex Bennée

[-- Attachment #1: Type: text/plain, Size: 2406 bytes --]

Can we check this in meson.build?

On Sun, Nov 15, 2020 at 12:53 AM Thomas Huth <thuth@redhat.com> wrote:
>
> On Solaris and Haiku, the _IO() macros are defined in <sys/ioccom.h>.
> Add a proper check for this header to our configure scripts, and
> make sure to include the header in tpm_ioctl.h to fix a build failure
> on Solaris and Haiku.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  backends/tpm/tpm_ioctl.h |  4 ++++
>  configure                | 11 ++++++++++-
>  nbd/nbd-internal.h       |  2 +-
>  3 files changed, 15 insertions(+), 2 deletions(-)
>
> diff --git a/backends/tpm/tpm_ioctl.h b/backends/tpm/tpm_ioctl.h
> index f5f5c553a9..bd6c12cb86 100644
> --- a/backends/tpm/tpm_ioctl.h
> +++ b/backends/tpm/tpm_ioctl.h
> @@ -12,6 +12,10 @@
>  #include <sys/uio.h>
>  #include <sys/ioctl.h>
>
> +#ifdef HAVE_SYS_IOCCOM_H
> +#include <sys/ioccom.h>
> +#endif
> +
>  /*
>   * Every response from a command involving a TPM command execution must
hold
>   * the ptm_res as the first element.
> diff --git a/configure b/configure
> index c0acda164d..764e903748 100755
> --- a/configure
> +++ b/configure
> @@ -3123,6 +3123,13 @@ if check_include "sys/signal.h" ; then
>    have_sys_signal_h=yes
>  fi
>
> +#########################################
> +# sys/ioccom.h check
> +have_sys_ioccom_h=no
> +if check_include "sys/ioccom.h" ; then
> +  have_sys_ioccom_h=yes
> +fi
> +
>  ##########################################
>  # VTE probe
>
> @@ -6214,7 +6221,9 @@ fi
>  if test "$have_sys_signal_h" = "yes" ; then
>      echo "HAVE_SYS_SIGNAL_H=y" >> $config_host_mak
>  fi
> -
> +if test "$have_sys_ioccom_h" = "yes" ; then
> +    echo "HAVE_SYS_IOCCOM_H=y" >> $config_host_mak
> +fi
>  # Work around a system header bug with some kernel/XFS header
>  # versions where they both try to define 'struct fsxattr':
>  # xfs headers will not try to redefine structs from linux headers
> diff --git a/nbd/nbd-internal.h b/nbd/nbd-internal.h
> index 60629ef160..1b2141ab4b 100644
> --- a/nbd/nbd-internal.h
> +++ b/nbd/nbd-internal.h
> @@ -19,7 +19,7 @@
>  #ifndef _WIN32
>  #include <sys/ioctl.h>
>  #endif
> -#if defined(__sun__) || defined(__HAIKU__)
> +#ifdef HAVE_SYS_IOCCOM_H
>  #include <sys/ioccom.h>
>  #endif
>
> --
> 2.18.4
>
>


--
         此致
礼
罗勇刚
Yours
    sincerely,
Yonggang Luo

[-- Attachment #2: Type: text/html, Size: 3092 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 3/4] configure: Add a proper check for sys/ioccom.h and use it in tpm_ioctl.h
  2020-11-14 16:51 ` [PATCH 3/4] configure: Add a proper check for sys/ioccom.h and use it in tpm_ioctl.h Thomas Huth
  2020-11-14 16:56   ` 罗勇刚(Yonggang Luo)
@ 2020-11-14 23:43   ` Stefan Berger
  2020-11-15 15:23   ` [PATCH v2 " Thomas Huth
  2 siblings, 0 replies; 15+ messages in thread
From: Stefan Berger @ 2020-11-14 23:43 UTC (permalink / raw)
  To: Thomas Huth, qemu-devel
  Cc: Peter Maydell, Alexander von Gluck IV, Stefan Berger,
	Philippe Mathieu-Daudé, David CARLIER, kraxel,
	Alex Bennée

On 11/14/20 11:51 AM, Thomas Huth wrote:
> On Solaris and Haiku, the _IO() macros are defined in <sys/ioccom.h>.
> Add a proper check for this header to our configure scripts, and
> make sure to include the header in tpm_ioctl.h to fix a build failure
> on Solaris and Haiku.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>

Reviewed-by: Stefan Berger <stefanb@linux.ibm.com>
> ---
>   backends/tpm/tpm_ioctl.h |  4 ++++
>   configure                | 11 ++++++++++-
>   nbd/nbd-internal.h       |  2 +-
>   3 files changed, 15 insertions(+), 2 deletions(-)
>
> diff --git a/backends/tpm/tpm_ioctl.h b/backends/tpm/tpm_ioctl.h
> index f5f5c553a9..bd6c12cb86 100644
> --- a/backends/tpm/tpm_ioctl.h
> +++ b/backends/tpm/tpm_ioctl.h
> @@ -12,6 +12,10 @@
>   #include <sys/uio.h>
>   #include <sys/ioctl.h>
>
> +#ifdef HAVE_SYS_IOCCOM_H
> +#include <sys/ioccom.h>
> +#endif
> +
>   /*
>    * Every response from a command involving a TPM command execution must hold
>    * the ptm_res as the first element.
> diff --git a/configure b/configure
> index c0acda164d..764e903748 100755
> --- a/configure
> +++ b/configure
> @@ -3123,6 +3123,13 @@ if check_include "sys/signal.h" ; then
>     have_sys_signal_h=yes
>   fi
>
> +#########################################
> +# sys/ioccom.h check
> +have_sys_ioccom_h=no
> +if check_include "sys/ioccom.h" ; then
> +  have_sys_ioccom_h=yes
> +fi
> +
>   ##########################################
>   # VTE probe
>
> @@ -6214,7 +6221,9 @@ fi
>   if test "$have_sys_signal_h" = "yes" ; then
>       echo "HAVE_SYS_SIGNAL_H=y" >> $config_host_mak
>   fi
> -
> +if test "$have_sys_ioccom_h" = "yes" ; then
> +    echo "HAVE_SYS_IOCCOM_H=y" >> $config_host_mak
> +fi
>   # Work around a system header bug with some kernel/XFS header
>   # versions where they both try to define 'struct fsxattr':
>   # xfs headers will not try to redefine structs from linux headers
> diff --git a/nbd/nbd-internal.h b/nbd/nbd-internal.h
> index 60629ef160..1b2141ab4b 100644
> --- a/nbd/nbd-internal.h
> +++ b/nbd/nbd-internal.h
> @@ -19,7 +19,7 @@
>   #ifndef _WIN32
>   #include <sys/ioctl.h>
>   #endif
> -#if defined(__sun__) || defined(__HAIKU__)
> +#ifdef HAVE_SYS_IOCCOM_H
>   #include <sys/ioccom.h>
>   #endif
>



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 2/4] configure: Do not build pc-bios/optionrom on Haiku
  2020-11-14 16:51 ` [PATCH 2/4] configure: Do not build pc-bios/optionrom on Haiku Thomas Huth
@ 2020-11-14 23:44   ` Stefan Berger
  2020-11-16 11:51   ` Philippe Mathieu-Daudé
  1 sibling, 0 replies; 15+ messages in thread
From: Stefan Berger @ 2020-11-14 23:44 UTC (permalink / raw)
  To: Thomas Huth, qemu-devel
  Cc: Peter Maydell, Alexander von Gluck IV, Stefan Berger,
	Philippe Mathieu-Daudé, David CARLIER, kraxel,
	Alex Bennée

On 11/14/20 11:51 AM, Thomas Huth wrote:
> Compilation of pc-bios/optionrom fails on Haiku with:
>
>     BUILD   pvh.img
>   ld: pvh_main.o: in function `pvh_load_kernel':
>   pc-bios/optionrom/pvh_main.c:73: undefined reference to `GLOBAL_OFFSET_TABLE_'
>   Makefile:57: recipe for target 'pvh.img' failed
>   make[1]: *** [pvh.img] Error 1
>
> Let's simply disable it, like it is already done on macOS and Solaris.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>   configure | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/configure b/configure
> index a273a93377..c0acda164d 100755
> --- a/configure
> +++ b/configure
> @@ -5842,7 +5842,7 @@ fi
>   roms=
>   if { test "$cpu" = "i386" || test "$cpu" = "x86_64"; } && \
>           test "$targetos" != "Darwin" && test "$targetos" != "SunOS" && \
> -        test "$softmmu" = yes ; then
> +        test "$targetos" != "Haiku" && test "$softmmu" = yes ; then
>       # Different host OS linkers have different ideas about the name of the ELF
>       # emulation. Linux and OpenBSD/amd64 use 'elf_i386'; FreeBSD uses the _fbsd
>       # variant; OpenBSD/i386 uses the _obsd variant; and Windows uses i386pe.

Reviewed-by: Stefan Berger <stefanb@linux.ibm.com>



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 1/4] configure: Fix the _BSD_SOURCE define for the Haiku build
  2020-11-14 16:51 ` [PATCH 1/4] configure: Fix the _BSD_SOURCE define for the Haiku build Thomas Huth
@ 2020-11-14 23:44   ` Stefan Berger
  0 siblings, 0 replies; 15+ messages in thread
From: Stefan Berger @ 2020-11-14 23:44 UTC (permalink / raw)
  To: Thomas Huth, qemu-devel
  Cc: Peter Maydell, Alexander von Gluck IV, Stefan Berger,
	Philippe Mathieu-Daudé, David CARLIER, kraxel,
	Alex Bennée

On 11/14/20 11:51 AM, Thomas Huth wrote:
> The Haiku VM that we are going to add is using _BSD_SOURCE instead
> of BSD_SOURCE (without initial underscore)... according to David
> Carlier, the BSD_SOURCE without underscore was likely a typo, so
> let's simply add the underscore there now.
> This fixes the build failure with the bswapXX() macros not being
> defined after including <endian.h>.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>   configure | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/configure b/configure
> index 4cef321d9d..a273a93377 100755
> --- a/configure
> +++ b/configure
> @@ -790,7 +790,7 @@ SunOS)
>   ;;
>   Haiku)
>     haiku="yes"
> -  QEMU_CFLAGS="-DB_USE_POSITIVE_POSIX_ERRORS -DBSD_SOURCE $QEMU_CFLAGS"
> +  QEMU_CFLAGS="-DB_USE_POSITIVE_POSIX_ERRORS -D_BSD_SOURCE $QEMU_CFLAGS"
>   ;;
>   Linux)
>     audio_drv_list="try-pa oss"

Reviewed-by: Stefan Berger <stefanb@linux.ibm.com



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 3/4] configure: Add a proper check for sys/ioccom.h and use it in tpm_ioctl.h
  2020-11-14 16:56   ` 罗勇刚(Yonggang Luo)
@ 2020-11-15 14:00     ` Thomas Huth
  2020-11-15 14:34       ` Paolo Bonzini
  0 siblings, 1 reply; 15+ messages in thread
From: Thomas Huth @ 2020-11-15 14:00 UTC (permalink / raw)
  To: luoyonggang, Paolo Bonzini, Marc-André Lureau
  Cc: Peter Maydell, Alexander von Gluck IV, Stefan Berger,
	Philippe Mathieu-Daudé, qemu-level, David CARLIER,
	Gerd Hoffmann, Alex Bennée

On 14/11/2020 17.56, 罗勇刚(Yonggang Luo) wrote:
> Can we check this in meson.build?

That would be nicer, indeed, but I did not spot a place where I could add my
code there ... all the other HAVE_xxx_H symbols are added in the configure
script.
Maybe Paolo or Marc-André (now on CC:) have an idea whether it could be done
easily in meson.build?, too?

 Thomas


> On Sun, Nov 15, 2020 at 12:53 AM Thomas Huth <thuth@redhat.com
> <mailto:thuth@redhat.com>> wrote:
>>
>> On Solaris and Haiku, the _IO() macros are defined in <sys/ioccom.h>.
>> Add a proper check for this header to our configure scripts, and
>> make sure to include the header in tpm_ioctl.h to fix a build failure
>> on Solaris and Haiku.
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com <mailto:thuth@redhat.com>>
>> ---
>>  backends/tpm/tpm_ioctl.h |  4 ++++
>>  configure                | 11 ++++++++++-
>>  nbd/nbd-internal.h       |  2 +-
>>  3 files changed, 15 insertions(+), 2 deletions(-)
>>
>> diff --git a/backends/tpm/tpm_ioctl.h b/backends/tpm/tpm_ioctl.h
>> index f5f5c553a9..bd6c12cb86 100644
>> --- a/backends/tpm/tpm_ioctl.h
>> +++ b/backends/tpm/tpm_ioctl.h
>> @@ -12,6 +12,10 @@
>>  #include <sys/uio.h>
>>  #include <sys/ioctl.h>
>>
>> +#ifdef HAVE_SYS_IOCCOM_H
>> +#include <sys/ioccom.h>
>> +#endif
>> +
>>  /*
>>   * Every response from a command involving a TPM command execution must hold
>>   * the ptm_res as the first element.
>> diff --git a/configure b/configure
>> index c0acda164d..764e903748 100755
>> --- a/configure
>> +++ b/configure
>> @@ -3123,6 +3123,13 @@ if check_include "sys/signal.h" ; then
>>    have_sys_signal_h=yes
>>  fi
>>
>> +#########################################
>> +# sys/ioccom.h check
>> +have_sys_ioccom_h=no
>> +if check_include "sys/ioccom.h" ; then
>> +  have_sys_ioccom_h=yes
>> +fi
>> +
>>  ##########################################
>>  # VTE probe
>>
>> @@ -6214,7 +6221,9 @@ fi
>>  if test "$have_sys_signal_h" = "yes" ; then
>>      echo "HAVE_SYS_SIGNAL_H=y" >> $config_host_mak
>>  fi
>> -
>> +if test "$have_sys_ioccom_h" = "yes" ; then
>> +    echo "HAVE_SYS_IOCCOM_H=y" >> $config_host_mak
>> +fi
>>  # Work around a system header bug with some kernel/XFS header
>>  # versions where they both try to define 'struct fsxattr':
>>  # xfs headers will not try to redefine structs from linux headers
>> diff --git a/nbd/nbd-internal.h b/nbd/nbd-internal.h
>> index 60629ef160..1b2141ab4b 100644
>> --- a/nbd/nbd-internal.h
>> +++ b/nbd/nbd-internal.h
>> @@ -19,7 +19,7 @@
>>  #ifndef _WIN32
>>  #include <sys/ioctl.h>
>>  #endif
>> -#if defined(__sun__) || defined(__HAIKU__)
>> +#ifdef HAVE_SYS_IOCCOM_H
>>  #include <sys/ioccom.h>
>>  #endif
>>
>> --
>> 2.18.4
>>
>>
> 
> 
> --
>          此致
> 礼
> 罗勇刚
> Yours
>     sincerely,
> Yonggang Luo



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 3/4] configure: Add a proper check for sys/ioccom.h and use it in tpm_ioctl.h
  2020-11-15 14:00     ` Thomas Huth
@ 2020-11-15 14:34       ` Paolo Bonzini
  2020-11-15 15:18         ` Thomas Huth
  0 siblings, 1 reply; 15+ messages in thread
From: Paolo Bonzini @ 2020-11-15 14:34 UTC (permalink / raw)
  To: Thomas Huth, luoyonggang, Marc-André Lureau
  Cc: Peter Maydell, Alexander von Gluck IV, Stefan Berger,
	Philippe Mathieu-Daudé, qemu-level, David CARLIER,
	Gerd Hoffmann, Alex Bennée

On 15/11/20 15:00, Thomas Huth wrote:
> On 14/11/2020 17.56, 罗勇刚(Yonggang Luo) wrote:
>> Can we check this in meson.build?
> 
> That would be nicer, indeed, but I did not spot a place where I could add my
> code there ... all the other HAVE_xxx_H symbols are added in the configure
> script.

There is one similar test, it was split in two:

has_gettid = cc.has_function('gettid')
...
config_host_data.set('CONFIG_GETTID', has_gettid)

but there's no particular reason for that.  You can just add

config_host_data.set('HAVE_SYS_IOCCOM_H', cc.has_headers('sys/ioccom.h'))

in the config-host.h section of meson.build?.

Paolo

>> On Sun, Nov 15, 2020 at 12:53 AM Thomas Huth <thuth@redhat.com
>> <mailto:thuth@redhat.com>> wrote:
>>>
>>> On Solaris and Haiku, the _IO() macros are defined in <sys/ioccom.h>.
>>> Add a proper check for this header to our configure scripts, and
>>> make sure to include the header in tpm_ioctl.h to fix a build failure
>>> on Solaris and Haiku.
>>>
>>> Signed-off-by: Thomas Huth <thuth@redhat.com <mailto:thuth@redhat.com>>

>>> +#########################################
>>> +# sys/ioccom.h check
>>> +have_sys_ioccom_h=no
>>> +if check_include "sys/ioccom.h" ; then
>>> +  have_sys_ioccom_h=yes
>>> +fi



Paolo



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 3/4] configure: Add a proper check for sys/ioccom.h and use it in tpm_ioctl.h
  2020-11-15 14:34       ` Paolo Bonzini
@ 2020-11-15 15:18         ` Thomas Huth
  0 siblings, 0 replies; 15+ messages in thread
From: Thomas Huth @ 2020-11-15 15:18 UTC (permalink / raw)
  To: Paolo Bonzini, luoyonggang, Marc-André Lureau
  Cc: Peter Maydell, Alexander von Gluck IV, Stefan Berger,
	Philippe Mathieu-Daudé, qemu-level, David CARLIER,
	Gerd Hoffmann, Alex Bennée

On 15/11/2020 15.34, Paolo Bonzini wrote:
> On 15/11/20 15:00, Thomas Huth wrote:
>> On 14/11/2020 17.56, 罗勇刚(Yonggang Luo) wrote:
>>> Can we check this in meson.build?
>>
>> That would be nicer, indeed, but I did not spot a place where I could add my
>> code there ... all the other HAVE_xxx_H symbols are added in the configure
>> script.
> 
> There is one similar test, it was split in two:
> 
> has_gettid = cc.has_function('gettid')
> ...
> config_host_data.set('CONFIG_GETTID', has_gettid)
> 
> but there's no particular reason for that.  You can just add
> 
> config_host_data.set('HAVE_SYS_IOCCOM_H', cc.has_headers('sys/ioccom.h'))
> 
> in the config-host.h section of meson.build?.

Thanks, that seems to do the job! I'll send a v2 with that change (and try
to come up with another patch that converts the other header checks from the
configure script to meson).

 Thomas



^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH v2 3/4] configure: Add a proper check for sys/ioccom.h and use it in tpm_ioctl.h
  2020-11-14 16:51 ` [PATCH 3/4] configure: Add a proper check for sys/ioccom.h and use it in tpm_ioctl.h Thomas Huth
  2020-11-14 16:56   ` 罗勇刚(Yonggang Luo)
  2020-11-14 23:43   ` Stefan Berger
@ 2020-11-15 15:23   ` Thomas Huth
  2020-11-16 11:51     ` Philippe Mathieu-Daudé
  2 siblings, 1 reply; 15+ messages in thread
From: Thomas Huth @ 2020-11-15 15:23 UTC (permalink / raw)
  To: qemu-devel
  Cc: Alexander von Gluck IV, Stefan Berger,
	Philippe Mathieu-Daudé, David CARLIER,
	罗勇刚, Paolo Bonzini, Alex Bennée

On Solaris and Haiku, the _IO() macros are defined in <sys/ioccom.h>.
Add a proper check for this header to our build system, and make sure
to include the header in tpm_ioctl.h to fix a build failure on Solaris
and Haiku.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 v2: Check in meson.build instead of using the configure script

 backends/tpm/tpm_ioctl.h | 4 ++++
 meson.build              | 2 ++
 nbd/nbd-internal.h       | 2 +-
 3 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/backends/tpm/tpm_ioctl.h b/backends/tpm/tpm_ioctl.h
index f5f5c553a9..bd6c12cb86 100644
--- a/backends/tpm/tpm_ioctl.h
+++ b/backends/tpm/tpm_ioctl.h
@@ -12,6 +12,10 @@
 #include <sys/uio.h>
 #include <sys/ioctl.h>
 
+#ifdef HAVE_SYS_IOCCOM_H
+#include <sys/ioccom.h>
+#endif
+
 /*
  * Every response from a command involving a TPM command execution must hold
  * the ptm_res as the first element.
diff --git a/meson.build b/meson.build
index 61d883bc07..be85f70e4c 100644
--- a/meson.build
+++ b/meson.build
@@ -789,6 +789,8 @@ config_host_data.set('QEMU_VERSION_MAJOR', meson.project_version().split('.')[0]
 config_host_data.set('QEMU_VERSION_MINOR', meson.project_version().split('.')[1])
 config_host_data.set('QEMU_VERSION_MICRO', meson.project_version().split('.')[2])
 
+config_host_data.set('HAVE_SYS_IOCCOM_H', cc.has_header('sys/ioccom.h'))
+
 ignored = ['CONFIG_QEMU_INTERP_PREFIX'] # actually per-target
 arrays = ['CONFIG_AUDIO_DRIVERS', 'CONFIG_BDRV_RW_WHITELIST', 'CONFIG_BDRV_RO_WHITELIST']
 strings = ['HOST_DSOSUF', 'CONFIG_IASL']
diff --git a/nbd/nbd-internal.h b/nbd/nbd-internal.h
index 60629ef160..1b2141ab4b 100644
--- a/nbd/nbd-internal.h
+++ b/nbd/nbd-internal.h
@@ -19,7 +19,7 @@
 #ifndef _WIN32
 #include <sys/ioctl.h>
 #endif
-#if defined(__sun__) || defined(__HAIKU__)
+#ifdef HAVE_SYS_IOCCOM_H
 #include <sys/ioccom.h>
 #endif
 
-- 
2.18.4



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH v2 3/4] configure: Add a proper check for sys/ioccom.h and use it in tpm_ioctl.h
  2020-11-15 15:23   ` [PATCH v2 " Thomas Huth
@ 2020-11-16 11:51     ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 15+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-11-16 11:51 UTC (permalink / raw)
  To: Thomas Huth, qemu-devel
  Cc: Alexander von Gluck IV, Stefan Berger, 罗勇刚,
	David CARLIER, Paolo Bonzini, Alex Bennée

On 11/15/20 4:23 PM, Thomas Huth wrote:
> On Solaris and Haiku, the _IO() macros are defined in <sys/ioccom.h>.
> Add a proper check for this header to our build system, and make sure
> to include the header in tpm_ioctl.h to fix a build failure on Solaris
> and Haiku.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  v2: Check in meson.build instead of using the configure script
> 
>  backends/tpm/tpm_ioctl.h | 4 ++++
>  meson.build              | 2 ++
>  nbd/nbd-internal.h       | 2 +-
>  3 files changed, 7 insertions(+), 1 deletion(-)

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 2/4] configure: Do not build pc-bios/optionrom on Haiku
  2020-11-14 16:51 ` [PATCH 2/4] configure: Do not build pc-bios/optionrom on Haiku Thomas Huth
  2020-11-14 23:44   ` Stefan Berger
@ 2020-11-16 11:51   ` Philippe Mathieu-Daudé
  1 sibling, 0 replies; 15+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-11-16 11:51 UTC (permalink / raw)
  To: Thomas Huth, qemu-devel
  Cc: Peter Maydell, Alexander von Gluck IV, Stefan Berger,
	David CARLIER, kraxel, Alex Bennée

On 11/14/20 5:51 PM, Thomas Huth wrote:
> Compilation of pc-bios/optionrom fails on Haiku with:
> 
>    BUILD   pvh.img
>  ld: pvh_main.o: in function `pvh_load_kernel':
>  pc-bios/optionrom/pvh_main.c:73: undefined reference to `GLOBAL_OFFSET_TABLE_'
>  Makefile:57: recipe for target 'pvh.img' failed
>  make[1]: *** [pvh.img] Error 1
> 
> Let's simply disable it, like it is already done on macOS and Solaris.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  configure | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2020-11-16 11:54 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-11-14 16:51 [PATCH for-5.2? 0/4] Fix build failures on Haiku Thomas Huth
2020-11-14 16:51 ` [PATCH 1/4] configure: Fix the _BSD_SOURCE define for the Haiku build Thomas Huth
2020-11-14 23:44   ` Stefan Berger
2020-11-14 16:51 ` [PATCH 2/4] configure: Do not build pc-bios/optionrom on Haiku Thomas Huth
2020-11-14 23:44   ` Stefan Berger
2020-11-16 11:51   ` Philippe Mathieu-Daudé
2020-11-14 16:51 ` [PATCH 3/4] configure: Add a proper check for sys/ioccom.h and use it in tpm_ioctl.h Thomas Huth
2020-11-14 16:56   ` 罗勇刚(Yonggang Luo)
2020-11-15 14:00     ` Thomas Huth
2020-11-15 14:34       ` Paolo Bonzini
2020-11-15 15:18         ` Thomas Huth
2020-11-14 23:43   ` Stefan Berger
2020-11-15 15:23   ` [PATCH v2 " Thomas Huth
2020-11-16 11:51     ` Philippe Mathieu-Daudé
2020-11-14 16:51 ` [PATCH 4/4] tests/vm: Add Haiku test based on their vagrant images Thomas Huth

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).