On 10/28/2017 01:40 AM, Khem Raj wrote:
On Fri, Oct 27, 2017 at 2:43 AM, Chen Qi <qi.c...@windriver.com> wrote:
We've observed strange behaviour of `systemctl status <xxx> on qemumips64.
The output of the command is like `systemctl show <xxx>', which is incorrect.
This patch is from gcc bugzilla's attachment.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81803
The patch hasn't been merged into gcc. But it does solve the above problem.
This looks ok. Can you help by providing your testing results to gcc bugzilla
so the patch can then be submitted to gcc ml.
Some updates in this issue.
1) I've provided information in gcc bugzilla. The author says that he's
going to submit the patch to gcc mailing list.
2) I've update remote branch to fix a typo ('mips4' --> 'mips64').
git://git.pokylinux.org/poky-contrib ChenQi/bug12266
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=ChenQi/bug12266
3) 'core-image-sato + testimage' has been tested on other qemu machines
including qemux86-64, qemux86, qemumips, qemuppc, qemuarm64.
Best Regards,
Chen Qi
Signed-off-by: Chen Qi <qi.c...@windriver.com>
---
meta/recipes-devtools/gcc/gcc-7.2.inc | 1 +
.../fix-miscompilation-for-O1-on-mips64el.patch | 35 ++++++++++++++++++++++
2 files changed, 36 insertions(+)
create mode 100644
meta/recipes-devtools/gcc/gcc-7.2/fix-miscompilation-for-O1-on-mips64el.patch
diff --git a/meta/recipes-devtools/gcc/gcc-7.2.inc
b/meta/recipes-devtools/gcc/gcc-7.2.inc
index 5883bc6..04edad7 100644
--- a/meta/recipes-devtools/gcc/gcc-7.2.inc
+++ b/meta/recipes-devtools/gcc/gcc-7.2.inc
@@ -75,6 +75,7 @@ SRC_URI = "\
file://0048-gcc-Enable-static-PIE.patch \
file://fix-segmentation-fault-precompiled-hdr.patch \
file://0050-RISC-V-Handle-non-legitimate-address-in-riscv_legiti.patch \
+ file://fix-miscompilation-for-O1-on-mips64el.patch \
${BACKPORTS} \
"
BACKPORTS = "\
diff --git
a/meta/recipes-devtools/gcc/gcc-7.2/fix-miscompilation-for-O1-on-mips64el.patch
b/meta/recipes-devtools/gcc/gcc-7.2/fix-miscompilation-for-O1-on-mips64el.patch
new file mode 100644
index 0000000..28020b0
--- /dev/null
+++
b/meta/recipes-devtools/gcc/gcc-7.2/fix-miscompilation-for-O1-on-mips64el.patch
@@ -0,0 +1,35 @@
+This patch comes from https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81803
+
+Author: mpf <mpf@138bc75d-0d04-0410-961f-82ee72b054a4>
+
+This patch hasn't been merged into gcc. But it does solve the problem of
+strange behaviour of `systemd status <xxx>' on qemumips64.
+
+Upstream-Status: Pending [Taken from gcc bugzilla's attachment]
+
+Signed-off-by: Chen Qi <qi.c...@windriver.com>
+---
+ gcc/lra-constraints.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c
+index c8bc9b9a66f..6d319662b09 100644
+--- a/gcc/lra-constraints.c
++++ b/gcc/lra-constraints.c
+@@ -4235,7 +4235,12 @@ curr_insn_transform (bool check_only_p)
+ && (goal_alt[i] == NO_REGS
+ || (simplify_subreg_regno
+ (ira_class_hard_regs[goal_alt[i]][0],
+- GET_MODE (reg), byte, mode) >= 0)))))
++ GET_MODE (reg), byte, mode) >= 0))))
++ || (type != OP_IN
++ && GET_MODE_PRECISION (mode)
++ < GET_MODE_PRECISION (GET_MODE (reg))
++ && GET_MODE_SIZE (GET_MODE (reg)) <= UNITS_PER_WORD
++ && WORD_REGISTER_OPERATIONS))
+ {
+ /* An OP_INOUT is required when reloading a subreg of a
+ mode wider than a word to ensure that data beyond the
+--
+2.13.0
+
--
1.9.1
--
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core
--
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core