<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>11696</bug_id>
          
          <creation_ts>2017-06-21 00:47:59 +0000</creation_ts>
          <short_desc>systemd: gold linker fails for ppc machine</short_desc>
          <delta_ts>2017-07-19 20:03:32 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>OE-Core</product>
          <component>devtools / tool chain</component>
          <version>2.5</version>
          <rep_platform>x86</rep_platform>
          <op_sys>ppc</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Medium+</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>2.4 M3</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Randy MacLeod">randy.macleod</reporter>
          <assigned_to name="Randy MacLeod">randy.macleod</assigned_to>
          <cc>meta.mr.watcher</cc>
    
    <cc>meta.watcher</cc>
    
    <cc>raj.khem</cc>
    
    <cc>randy.macleod</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>No (bug/feature does not impact docs)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>74425</commentid>
    <comment_count>0</comment_count>
      <attachid>3835</attachid>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2017-06-21 00:47:59 +0000</bug_when>
    <thetext>Created attachment 3835
Work-arorund for gold linker bug to enable systemd to build.

This is likely a binutils bug.

A qemuppc specific work-around that uses fuse-ld=bfd rather than fuse-ld=gold is attached.


If you enable systemd in conf/local.conf:

VIRTUAL-RUNTIME_init_manager = &quot;systemd&quot;
DISTRO_FEATURES_append = &quot; systemd&quot;
DISTRO_FEATURES_BACKFILL_CONSIDERED += &quot;sysvinit&quot;
KERNEL_FEATURES_append = &quot; cfg/systemd.scc&quot;


and build for qemuppc:
$ bitbake systemd

it eventually fails to link like this:

powerpc-oe-linux-libtool: link: powerpc-oe-linux-gcc -m32 -mhard-float -mcpu=7400 -mno-spe --sysroot=/buildarea/rmacleod/src/distro/yocto/b/sd-ppc/tmp
-glibc/work/ppc7400-oe-linux/systemd/1_232-r0/recipe-sysroot -pipe -Wall -Wextra -Wundef -Wformat=2 -Wformat-security -Wformat-nonliteral -Wlogical-op -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wsuggest-attribute=noreturn -W
error=missing-prototypes -Werror=implicit-function-declaration -Werror=missing-declarations -Werror=return-type -Wstrict-prototypes -Wredundant-decls -Wmissing-noreturn -Wshadow -Wendif-labels -Wstrict-aliasing=2 -Wwrite-strings -Wno-unused-parameter -Wno-missing-field-initializers -Wno-unused-resul
t -Wno-format-signedness -Werror=overflow -Wdate-time -Wnested-externs -ffast-math -fno-common -fdiagnostics-show-option -fno-strict-aliasing -fvisibility=hidden -fstack-protector -fstack-protector-strong -fPIE --param=ssp-buffer-size=4 -Werror=shadow -flto -ffunction-sections -fdata-sections -O2 -p
ipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/buildarea/rmacleod/src/distro/yocto/b/sd-ppc/tmp-glibc/work/ppc7400-oe-linux/systemd/1_232-r0=/usr/src/debug/systemd/1_232-r0 -fdebug-prefix-map=/buildarea/rmacleod/src/distro/yocto/b/sd-ppc/tmp-glibc/work/ppc7400-oe-linux/systemd/1_232-r0/re
cipe-sysroot-native= -fdebug-prefix-map=/buildarea/rmacleod/src/distro/yocto/b/sd-ppc/tmp-glibc/work/ppc7400-oe-linux/systemd/1_232-r0/recipe-sysroot= -Wl,--gc-sections -Wl,--as-needed -Wl,--no-undefined -Wl,-z -Wl,relro -Wl,-z -Wl,now -pie -Wl,-fuse-ld=gold -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-nee
ded -o scsi_id src/udev/scsi_id/scsi_id.o src/udev/scsi_id/scsi_serial.o  ./.libs/libshared.a -lresolv -lcap -lrt -lm -llzma -lacl -pthread 
powerpc-oe-linux-libtool: link: ( cd &quot;.libs&quot; &amp;&amp; rm -f &quot;libnss_myhostname.la&quot; &amp;&amp; ln -s &quot;../libnss_myhostname.la&quot; &quot;libnss_myhostname.la&quot; )
/buildarea/rmacleod/src/distro/yocto/b/sd-ppc/tmp-glibc/work/ppc7400-oe-linux/systemd/1_232-r0/recipe-sysroot-native/usr/bin/powerpc-oe-linux/powerpc-oe-linux-ld.gold: error: invalid STB_LOCAL symbol in external symbols
/buildarea/rmacleod/src/distro/yocto/b/sd-ppc/tmp-glibc/work/ppc7400-oe-linux/systemd/1_232-r0/recipe-sysroot-native/usr/bin/powerpc-oe-linux/powerpc-oe-linux-ld.gold: error: linker defined: multiple definition of &apos;00000001.plt_call.free+8000&apos;
/buildarea/rmacleod/src/distro/yocto/b/sd-ppc/tmp-glibc/work/ppc7400-oe-linux/systemd/1_232-r0/recipe-sysroot-native/usr/bin/powerpc-oe-linux/powerpc-oe-linux-ld.gold: command line: previous definition here
/buildarea/rmacleod/src/distro/yocto/b/sd-ppc/tmp-glibc/work/ppc7400-oe-linux/systemd/1_232-r0/recipe-sysroot-native/usr/bin/powerpc-oe-linux/powerpc-oe-linux-ld.gold: error: invalid STB_LOCAL symbol in external symbols
/buildarea/rmacleod/src/distro/yocto/b/sd-ppc/tmp-glibc/work/ppc7400-oe-linux/systemd/1_232-r0/recipe-sysroot-native/usr/bin/powerpc-oe-linux/powerpc-oe-linux-ld.gold: error: linker defined: multiple definition of &apos;00000001.plt_call.strspn+8000&apos;
/buildarea/rmacleod/src/distro/yocto/b/sd-ppc/tmp-glibc/work/ppc7400-oe-linux/systemd/1_232-r0/recipe-sysroot-native/usr/bin/powerpc-oe-linux/powerpc-oe-linux-ld.gold: command line: previous definition here
/buildarea/rmacleod/src/distro/yocto/b/sd-ppc/tmp-glibc/work/ppc7400-oe-linux/systemd/1_232-r0/recipe-sysroot-native/usr/bin/powerpc-oe-linux/powerpc-</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74426</commentid>
    <comment_count>1</comment_count>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2017-06-21 01:01:02 +0000</bug_when>
    <thetext>Tomorrow, I&apos;ll look for a fix in the binutils-gnu git repo. Threre are some fixes on master that look promising.

Then I guess I should try to come up with a minimal reproducer and report the bug to the binutils devs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74427</commentid>
    <comment_count>2</comment_count>
      <attachid>3836</attachid>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2017-06-21 01:11:02 +0000</bug_when>
    <thetext>Created attachment 3836
0001-systemd-work-around-ppc-gold-linker-error.patch (with patch!)

I had forgotten the patch originally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74429</commentid>
    <comment_count>3</comment_count>
    <who name="Paul Eggleton">bluelightning</who>
    <bug_when>2017-06-21 07:44:01 +0000</bug_when>
    <thetext>Assigning this back to you Randy since you already seem to have a handle on the fix ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74555</commentid>
    <comment_count>4</comment_count>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2017-06-26 21:21:39 +0000</bug_when>
    <thetext>webkitgtk_2.16.1 also fails for qemuppc with a similar error. I haven&apos;t tried to work-around the bug. I&apos;ve reported the gold defect upstream:
   https://sourceware.org/bugzilla/show_bug.cgi?id=21678</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75076</commentid>
    <comment_count>5</comment_count>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2017-07-17 18:31:05 +0000</bug_when>
    <thetext>Gcc devs have a proposed patch that I&apos;ll test soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75081</commentid>
    <comment_count>6</comment_count>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2017-07-17 19:56:12 +0000</bug_when>
    <thetext>(In reply to comment #5)
&gt; Gcc devs have a proposed patch that I&apos;ll test soon.

Err, wrong bug, ignore this. I&apos;m getting caught up after vacation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75158</commentid>
    <comment_count>7</comment_count>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2017-07-19 20:03:32 +0000</bug_when>
    <thetext>Fixed by:

commit 0d1273cdf8652bf1844f1f1fe4ba0eacd27ada65
Author: Randy MacLeod &lt;Randy.MacLeod@windriver.com&gt;
Date:   Tue Jun 27 21:35:06 2017 -0400

    binutils: update SRCREV to fix powerpc gold link bug
    
    Update to the latest commit on the 2.28 branch to pick up:
       a3e00a8 [GOLD] Avoid duplicate PLT stub symbols on ppc32
    along with several backported bug fixes for arm*, etc.
    
    This resolves the systemd link error for qemuppc
    with the error message:
       .../powerpc-oe-linux-ld.gold:
       error: invalid STB_LOCAL symbol in external symbols
       error: linker defined: multiple definition of &apos;00000001.plt_call.memcpy+8000&apos;
       command line: previous definition here
    
    described in:
    
    [YOCTO #11696]</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>3835</attachid>
            <date>2017-06-21 00:47:59 +0000</date>
            <delta_ts>2017-06-21 00:47:59 +0000</delta_ts>
            <desc>Work-arorund for gold linker bug to enable systemd to build.</desc>
            <filename>0001-systemd-work-around-ppc-gold-link-error.patch</filename>
            <type>text/plain</type>
            <size>1035</size>
            <attacher name="Randy MacLeod">randy.macleod</attacher>
            
              <data encoding="base64">RnJvbSAyOThiMjUyZWIwMTZmYzRkYjYyNmRlOGFlMjIzYjNhMzJjNDhlYjEwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSYW5keSBNYWNMZW9kIDxSYW5keS5NYWNMZW9kQHdpbmRyaXZl
ci5jb20+CkRhdGU6IFdlZCwgMjEgSnVuIDIwMTcgMDA6MzI6NTkgKzAwMDAKU3ViamVjdDogW1BB
VENIXSBzeXN0ZW1kOiB3b3JrLWFyb3VuZCBwcGMgZ29sZCBsaW5rIGVycm9yCgpTaWduZWQtb2Zm
LWJ5OiBSYW5keSBNYWNMZW9kIDxSYW5keS5NYWNMZW9kQHdpbmRyaXZlci5jb20+Ci0tLQogbWV0
YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kXzIzMi5iYiB8IDIgKysKIDEgZmlsZSBjaGFu
Z2VkLCAyIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0
ZW1kL3N5c3RlbWRfMjMyLmJiIGIvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kXzIz
Mi5iYgppbmRleCAxMDA3MzYwODNmLi4xY2U5ZGMxMTQwIDEwMDY0NAotLS0gYS9tZXRhL3JlY2lw
ZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWRfMjMyLmJiCisrKyBiL21ldGEvcmVjaXBlcy1jb3JlL3N5
c3RlbWQvc3lzdGVtZF8yMzIuYmIKQEAgLTQxLDYgKzQxLDggQEAgU1JDX1VSSV9hcHBlbmRfbGli
Yy11Y2xpYmMgPSAiXAogIgogU1JDX1VSSV9hcHBlbmRfcWVtdWFsbCA9ICIgZmlsZTovLzAwMDEt
Y29yZS1kZXZpY2UuYy1DaGFuZ2UtdGhlLWRlZmF1bHQtZGV2aWNlLXRpbWVvdXQtdG8tMi5wYXRj
aCIKIAorU1JDX1VSSV9hcHBlbmRfcWVtdXBwYyA9ICIgZmlsZTovL3N5c3RlbWQtZHJvcC1nb2xk
LXVzZS1iZmQucGF0Y2giCisKIFBBQ0tBR0VDT05GSUcgPz89ICJ4eiBcCiAgICAgICAgICAgICAg
ICAgICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnZWZpIHBhbSBzZWxp
bnV4IGxkY29uZmlnJywgZCl9IFwKICAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250
YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICd4a2Jjb21tb24nLCAnJywgZCl9IFwKLS0g
CjIuMTEuMAoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>3836</attachid>
            <date>2017-06-21 01:11:02 +0000</date>
            <delta_ts>2017-06-21 01:11:02 +0000</delta_ts>
            <desc>0001-systemd-work-around-ppc-gold-linker-error.patch (with patch!)</desc>
            <filename>0001-systemd-work-around-ppc-gold-linker-error.patch</filename>
            <type>text/plain</type>
            <size>1802</size>
            <attacher name="Randy MacLeod">randy.macleod</attacher>
            
              <data encoding="base64">RnJvbSAzMGFjZmVmMTY4OTA4ZDk5NGE3MjU4NmQwZWZiMjk5Zjg1ZGQ4NGVjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSYW5keSBNYWNMZW9kIDxSYW5keS5NYWNMZW9kQHdpbmRyaXZl
ci5jb20+CkRhdGU6IFdlZCwgMjEgSnVuIDIwMTcgMDA6MzI6NTkgKzAwMDAKU3ViamVjdDogW1BB
VENIXSBzeXN0ZW1kOiB3b3JrLWFyb3VuZCBwcGMgZ29sZCBsaW5rZXIgZXJyb3IKClNpZ25lZC1v
ZmYtYnk6IFJhbmR5IE1hY0xlb2QgPFJhbmR5Lk1hY0xlb2RAd2luZHJpdmVyLmNvbT4KLS0tCiAu
Li4vc3lzdGVtZC9zeXN0ZW1kL3N5c3RlbWQtZHJvcC1nb2xkLXVzZS1iZmQucGF0Y2ggICAgICAg
ICAgIHwgMTEgKysrKysrKysrKysKIG1ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZF8y
MzIuYmIgICAgICAgICAgICAgICAgICAgICAgfCAgMiArKwogMiBmaWxlcyBjaGFuZ2VkLCAxMyBp
bnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVt
ZC9zeXN0ZW1kL3N5c3RlbWQtZHJvcC1nb2xkLXVzZS1iZmQucGF0Y2gKCmRpZmYgLS1naXQgYS9t
ZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvc3lzdGVtZC1kcm9wLWdvbGQtdXNlLWJm
ZC5wYXRjaCBiL21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC9zeXN0ZW1kLWRyb3At
Z29sZC11c2UtYmZkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAu
LmVhYzIxOTkxZGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1k
L3N5c3RlbWQvc3lzdGVtZC1kcm9wLWdvbGQtdXNlLWJmZC5wYXRjaApAQCAtMCwwICsxLDExIEBA
CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTI2MCw3ICsyNjAs
NyBAQAorICAgICAgICAgLVdsLC16LHJlbHJvIFwKKyAgICAgICAgIC1XbCwteixub3cgXAorICAg
ICAgICAgLXBpZSBcCistICAgICAgICAtV2wsLWZ1c2UtbGQ9Z29sZF0pCisrICAgICAgICAtV2ws
LWZ1c2UtbGQ9YmZkXSkKKyBBQ19TVUJTVChbT1VSX0xERkxBR1NdLCAiJHdpdGhfbGRmbGFncyAk
c2FuaXRpemVyX2xkZmxhZ3MiKQorIAorIEFDX0NIRUNLX1NJWkVPRihwaWRfdCkKZGlmZiAtLWdp
dCBhL21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZF8yMzIuYmIgYi9tZXRhL3JlY2lw
ZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWRfMjMyLmJiCmluZGV4IDEwMDczNjA4M2YuLjFjZTlkYzEx
NDAgMTAwNjQ0Ci0tLSBhL21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZF8yMzIuYmIK
KysrIGIvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kXzIzMi5iYgpAQCAtNDEsNiAr
NDEsOCBAQCBTUkNfVVJJX2FwcGVuZF9saWJjLXVjbGliYyA9ICJcCiAiCiBTUkNfVVJJX2FwcGVu
ZF9xZW11YWxsID0gIiBmaWxlOi8vMDAwMS1jb3JlLWRldmljZS5jLUNoYW5nZS10aGUtZGVmYXVs
dC1kZXZpY2UtdGltZW91dC10by0yLnBhdGNoIgogCitTUkNfVVJJX2FwcGVuZF9xZW11cHBjID0g
IiBmaWxlOi8vc3lzdGVtZC1kcm9wLWdvbGQtdXNlLWJmZC5wYXRjaCIKKwogUEFDS0FHRUNPTkZJ
RyA/Pz0gInh6IFwKICAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RS
T19GRUFUVVJFUycsICdlZmkgcGFtIHNlbGludXggbGRjb25maWcnLCBkKX0gXAogICAgICAgICAg
ICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywg
J3hrYmNvbW1vbicsICcnLCBkKX0gXAotLSAKMi4xMS4wCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>