* [meta-virtualization][PATCH] libvirt: Workaround mips assembler crash on target
@ 2020-03-31 7:16 hongxu
2020-04-02 2:30 ` Bruce Ashfield
0 siblings, 1 reply; 2+ messages in thread
From: hongxu @ 2020-03-31 7:16 UTC (permalink / raw)
To: meta-virtualization, hongxu.jia
While enabling multilib on qemumips64, lib32 assembler ends up
crashing on target sometimes due to branch out of range,
therefore using -O2 for now
[snip]
|../../libvirt-6.1.0/tests/qemuxml2argvtest.c: In function 'mymain':
|../../libvirt-6.1.0/tests/qemuxml2argvtest.c:608:1: note: variable
tracking size limit exceeded with '-fvar-tracking-assignments', retrying without
| 608 | mymain(void)
| | ^~~~~~
|/tmp/ccXJSwZR.s: Assembler messages:
|/tmp/ccXJSwZR.s:43943: Error: branch out of range
[snip]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
recipes-extended/libvirt/libvirt_6.1.0.bb | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/recipes-extended/libvirt/libvirt_6.1.0.bb b/recipes-extended/libvirt/libvirt_6.1.0.bb
index 0ad3d8b..44354a4 100644
--- a/recipes-extended/libvirt/libvirt_6.1.0.bb
+++ b/recipes-extended/libvirt/libvirt_6.1.0.bb
@@ -375,6 +375,11 @@ EXTRA_OECONF += " \
--with-test-suite \
"
+# gcc9 end up mis-compiling qemuxml2argvtest.o with Og which then
+# crashes on target, so remove -Og and use -O2 as workaround
+SELECTED_OPTIMIZATION_remove_virtclass-multilib-lib32_mipsarch = "-Og"
+SELECTED_OPTIMIZATION_append_virtclass-multilib-lib32_mipsarch = " -O2"
+
EXTRA_OEMAKE = "BUILD_DIR=${B} DEST_DIR=${D}${PTEST_PATH} PTEST_DIR=${PTEST_PATH} SYSTEMD_UNIT_DIR=${systemd_system_unitdir}"
PRIVATE_LIBS_${PN}-ptest_append = "libvirt-admin.so.0"
--
2.7.4
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [meta-virtualization][PATCH] libvirt: Workaround mips assembler crash on target
2020-03-31 7:16 [meta-virtualization][PATCH] libvirt: Workaround mips assembler crash on target hongxu
@ 2020-04-02 2:30 ` Bruce Ashfield
0 siblings, 0 replies; 2+ messages in thread
From: Bruce Ashfield @ 2020-04-02 2:30 UTC (permalink / raw)
To: hongxu; +Cc: meta-virtualization
merged
Bruce
In message: [meta-virtualization][PATCH] libvirt: Workaround mips assembler crash on target
on 31/03/2020 hongxu wrote:
> While enabling multilib on qemumips64, lib32 assembler ends up
> crashing on target sometimes due to branch out of range,
> therefore using -O2 for now
>
> [snip]
> |../../libvirt-6.1.0/tests/qemuxml2argvtest.c: In function 'mymain':
> |../../libvirt-6.1.0/tests/qemuxml2argvtest.c:608:1: note: variable
> tracking size limit exceeded with '-fvar-tracking-assignments', retrying without
> | 608 | mymain(void)
> | | ^~~~~~
> |/tmp/ccXJSwZR.s: Assembler messages:
> |/tmp/ccXJSwZR.s:43943: Error: branch out of range
> [snip]
>
> Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
> ---
> recipes-extended/libvirt/libvirt_6.1.0.bb | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/recipes-extended/libvirt/libvirt_6.1.0.bb b/recipes-extended/libvirt/libvirt_6.1.0.bb
> index 0ad3d8b..44354a4 100644
> --- a/recipes-extended/libvirt/libvirt_6.1.0.bb
> +++ b/recipes-extended/libvirt/libvirt_6.1.0.bb
> @@ -375,6 +375,11 @@ EXTRA_OECONF += " \
> --with-test-suite \
> "
>
> +# gcc9 end up mis-compiling qemuxml2argvtest.o with Og which then
> +# crashes on target, so remove -Og and use -O2 as workaround
> +SELECTED_OPTIMIZATION_remove_virtclass-multilib-lib32_mipsarch = "-Og"
> +SELECTED_OPTIMIZATION_append_virtclass-multilib-lib32_mipsarch = " -O2"
> +
> EXTRA_OEMAKE = "BUILD_DIR=${B} DEST_DIR=${D}${PTEST_PATH} PTEST_DIR=${PTEST_PATH} SYSTEMD_UNIT_DIR=${systemd_system_unitdir}"
>
> PRIVATE_LIBS_${PN}-ptest_append = "libvirt-admin.so.0"
> --
> 2.7.4
>
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-04-02 2:30 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-31 7:16 [meta-virtualization][PATCH] libvirt: Workaround mips assembler crash on target hongxu
2020-04-02 2:30 ` Bruce Ashfield
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.