|
|
05bba0 |
From 984faac66812652082fc9aa46eceb21669c1131b Mon Sep 17 00:00:00 2001
|
|
|
05bba0 |
From: Laszlo Ersek <lersek@redhat.com>
|
|
|
05bba0 |
Date: Tue, 10 Feb 2015 19:41:34 +0100
|
|
|
05bba0 |
Subject: [PATCH 11/16] build: reenable local builds to pass --enable-debug
|
|
|
05bba0 |
(RHEL only)
|
|
|
05bba0 |
|
|
|
05bba0 |
Message-id: <1423597294-16022-2-git-send-email-lersek@redhat.com>
|
|
|
05bba0 |
Patchwork-id: 63788
|
|
|
05bba0 |
O-Subject: [RHEL-7.2 qemu-kvm PATCH 1/1] build: reenable local builds to pass --enable-debug (RHEL only)
|
|
|
05bba0 |
Bugzilla:
|
|
|
05bba0 |
RH-Acked-by: Markus Armbruster <armbru@redhat.com>
|
|
|
05bba0 |
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
|
|
|
05bba0 |
RH-Acked-by: Max Reitz <mreitz@redhat.com>
|
|
|
05bba0 |
|
|
|
05bba0 |
RHEL-7 commit f6852e27 dropped the "isa-ide" device, and observed:
|
|
|
05bba0 |
|
|
|
05bba0 |
Unresolved extern symbols pose no real danger, because they fail safely
|
|
|
05bba0 |
at link time. Note for the curious: the optimizer gets rid of the
|
|
|
05bba0 |
reference to isa_ide_init() in hw/i386/pc_piix.c.
|
|
|
05bba0 |
|
|
|
05bba0 |
For local builds it is sometimes useful to pass --enable-debug to the
|
|
|
05bba0 |
configure script. However that flag disables the optimizer, and the
|
|
|
05bba0 |
isa_ide_init() call is not eliminated during compilation; it reaches the
|
|
|
05bba0 |
linker. The linker then barfs
|
|
|
05bba0 |
|
|
|
05bba0 |
LINK x86_64-softmmu/qemu-system-x86_64
|
|
|
05bba0 |
hw/i386/pc_piix.o: In function `pc_init1':
|
|
|
05bba0 |
.../hw/i386/pc_piix.c:221: undefined reference to `isa_ide_init'
|
|
|
05bba0 |
collect2: error: ld returned 1 exit status
|
|
|
05bba0 |
|
|
|
05bba0 |
Provide a stub implementation for isa_ide_init(), reenabling local debug
|
|
|
05bba0 |
builds.
|
|
|
05bba0 |
|
|
|
05bba0 |
No copyright notice is added to the top of the new file, following the
|
|
|
05bba0 |
pattern set by other stub files.
|
|
|
05bba0 |
|
|
|
05bba0 |
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
|
|
05bba0 |
---
|
|
|
05bba0 |
stubs/Makefile.objs | 1 +
|
|
|
05bba0 |
stubs/ide-isa.c | 12 ++++++++++++
|
|
|
05bba0 |
2 files changed, 13 insertions(+)
|
|
|
05bba0 |
create mode 100644 stubs/ide-isa.c
|
|
|
05bba0 |
|
|
|
05bba0 |
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
|
|
|
05bba0 |
---
|
|
|
05bba0 |
stubs/Makefile.objs | 1 +
|
|
|
05bba0 |
stubs/ide-isa.c | 12 ++++++++++++
|
|
|
05bba0 |
2 files changed, 13 insertions(+)
|
|
|
05bba0 |
create mode 100644 stubs/ide-isa.c
|
|
|
05bba0 |
|
|
|
05bba0 |
diff --git a/stubs/Makefile.objs b/stubs/Makefile.objs
|
|
|
05bba0 |
index 4b2cb7d..590008e 100644
|
|
|
05bba0 |
--- a/stubs/Makefile.objs
|
|
|
05bba0 |
+++ b/stubs/Makefile.objs
|
|
|
05bba0 |
@@ -26,3 +26,4 @@ stub-obj-y += vm-stop.o
|
|
|
05bba0 |
stub-obj-y += vmstate.o
|
|
|
05bba0 |
stub-obj-$(CONFIG_WIN32) += fd-register.o
|
|
|
05bba0 |
stub-obj-y += cpus.o
|
|
|
05bba0 |
+stub-obj-y += ide-isa.o
|
|
|
05bba0 |
diff --git a/stubs/ide-isa.c b/stubs/ide-isa.c
|
|
|
05bba0 |
new file mode 100644
|
|
|
05bba0 |
index 0000000..4074aff
|
|
|
05bba0 |
--- /dev/null
|
|
|
05bba0 |
+++ b/stubs/ide-isa.c
|
|
|
05bba0 |
@@ -0,0 +1,12 @@
|
|
|
05bba0 |
+#include <hw/ide.h>
|
|
|
05bba0 |
+#include <stdlib.h>
|
|
|
05bba0 |
+
|
|
|
05bba0 |
+ISADevice *isa_ide_init(ISABus *bus, int iobase, int iobase2, int isairq,
|
|
|
05bba0 |
+ DriveInfo *hd0, DriveInfo *hd1)
|
|
|
05bba0 |
+{
|
|
|
05bba0 |
+ /*
|
|
|
05bba0 |
+ * In theory the real isa_ide_init() function can return NULL, but no
|
|
|
05bba0 |
+ * caller actually checks for that. Make sure we go out with a clear bang.
|
|
|
05bba0 |
+ */
|
|
|
05bba0 |
+ abort();
|
|
|
05bba0 |
+}
|
|
|
05bba0 |
--
|
|
|
05bba0 |
1.8.3.1
|
|
|
05bba0 |
|