Bug 12266

Summary: `systemctl status' command doesn't behave correctly on qemumips64
Product: [Runtime] General Runtime Reporter: Chen Qi <Qi.Chen>
Component: General RuntimeAssignee: Chen Qi <Qi.Chen>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Medium+ CC: stephano
Version: 2.4   
Target Milestone: 2.4.1   
Hardware: x86   
OS: Multiple   
Whiteboard: Backport 2.3.3 and 2.4.1?
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Chen Qi 2017-10-23 08:32:38 UTC
Building systemd based system for qemumips64, on target, execute `systemctl status <unit>' command, and we can observe incorrect behaviour.

e.g.
root@qemumips64:~# systemctl status dbus.socket
BindIPv6Only=default
Backlog=128
TimeoutUSec=1min 30s
SocketMode=0666
DirectoryMode=0755
Accept=no
Writable=no
KeepAlive=no
KeepAliveTimeUSec=0
KeepAliveIntervalUSec=0
KeepAliveProbes=0
DeferAcceptUSec=0
[snip]

The above output is actually the output of `systemctl show dbus.socket'.
The correct output for `systemctl status dbus.socket' should be as below.

root@qemumips64:~# systemctl status dbus.socket
● dbus.socket - D-Bus System Message Bus Socket
   Loaded: loaded (/lib/systemd/system/dbus.socket; static; vendor preset: enabled)
   Active: active (running) since Mon 2017-10-23 08:19:33 UTC; 4min 30s ago
   Listen: /var/run/dbus/system_bus_socket (Stream)

Oct 23 08:19:33 qemumips64 systemd[1]: Listening on D-Bus System Message Bus Socket.
Comment 1 Chen Qi 2017-10-27 01:53:27 UTC
Searched gcc bugzilla, there's a bug that seems to be related to this one.

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81803
Comment 2 Chen Qi 2017-10-31 08:02:09 UTC
  git://git.pokylinux.org/poky-contrib ChenQi/bug12266
  http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=ChenQi/bug12266
Comment 3 Chen Qi 2017-11-13 01:36:07 UTC
commit b656fd9267b1f36d46ca20a1c0bcfaedbf7df438
Author: Chen Qi <Qi.Chen@windriver.com>
Date:   Fri Oct 27 17:43:51 2017 +0800

    gcc: fix miscompilation on mips64
    
    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.
    
    (From OE-Core rev: 3717c76eb24217c14a22f72fdd8732923729dee8)
    
    Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
    Signed-off-by: Ross Burton <ross.burton@intel.com>
    Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

commit cd803651751fec224c78509743e10aea79a941de
Author: Chen Qi <Qi.Chen@windriver.com>
Date:   Fri Oct 27 17:43:50 2017 +0800

    systemd: remove useless options for mips4
    
    Looking back the history, we had problem with systemd on qemumips64
    which is also related to compilation flags. We solved that by using
    tweaking FULL_OPTIMIZATION for mips64 to have "-fno-tree-switch-conversion
    -fno-tree-tail-merge".
    
    Now systemd has been upgraded to 234, and we don't have the above problem
    any more, thus removing these flags.
    
    (From OE-Core rev: 713761d23df24ad1b52e08bd2d2dc688393bef5b)
    
    Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
    Signed-off-by: Ross Burton <ross.burton@intel.com>
    Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>