<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jul 1, 2016 at 2:19 PM, Khem Raj <span dir="ltr">&lt;<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Fri, Jul 1, 2016 at 1:44 PM, Christopher Larson &lt;<a href="mailto:kergoth@gmail.com">kergoth@gmail.com</a>&gt; wrote:<br>
</span><div><div class="">&gt; From: Christopher Larson &lt;<a href="mailto:chris_larson@mentor.com">chris_larson@mentor.com</a>&gt;<br>
&gt;<br>
&gt; We explicitly set the hash style to gnu in our LDFLAGS. Setting the default to<br>
&gt; this in the toolchain, while convenient, actually hides bugs, as a failure to<br>
&gt; obey LDFLAGS isn&#39;t noticed. By removing this, it&#39;s not dissimilar to how we<br>
&gt; poison the sysroot -- rather than relying on the default, notice right away if<br>
&gt; somoeone isn&#39;t obeying the needed flags.<br>
&gt;<br>
&gt; This will result in a failure to obey LDFLAGS causing a GNU_HASH QA failure,<br>
&gt; which is what&#39;s often seen with external toolchains. This brings us all on the<br>
&gt; same page, and makes sure a failure to obey LDFLAGS is seen early.<br>
&gt;<br>
&gt; This is limited to cross, to retain ease of use for SDKs.<br>
&gt;<br>
&gt; Signed-off-by: Christopher Larson &lt;<a href="mailto:chris_larson@mentor.com">chris_larson@mentor.com</a>&gt;<br>
&gt; ---<br>
&gt;  meta/recipes-devtools/gcc/gcc-4.9.inc   | 3 ++-<br>
&gt;  meta/recipes-devtools/gcc/gcc-5.3.inc   | 3 ++-<br>
&gt;  meta/recipes-devtools/gcc/gcc-6.1.inc   | 3 ++-<br>
&gt;  meta/recipes-devtools/gcc/gcc-cross.inc | 1 +<br>
&gt;  4 files changed, 7 insertions(+), 3 deletions(-)<br>
&gt;<br>
&gt; diff --git a/meta/recipes-devtools/gcc/gcc-4.9.inc b/meta/recipes-devtools/gcc/gcc-4.9.inc<br>
&gt; index 64701c8..05e02d9 100644<br>
&gt; --- a/meta/recipes-devtools/gcc/gcc-4.9.inc<br>
&gt; +++ b/meta/recipes-devtools/gcc/gcc-4.9.inc<br>
&gt; @@ -107,13 +107,14 @@ JAVA = &quot;&quot;<br>
&gt;<br>
&gt;  LTO = &quot;--enable-lto&quot;<br>
&gt;<br>
&gt; +OECONF_HASH_STYLE = &quot;--with-linker-hash-style=${LINKER_HASH_STYLE}&quot;<br>
&gt;  EXTRA_OECONF_BASE = &quot;\<br>
&gt;      ${LTO} \<br>
&gt; +    ${OECONF_HASH_STYLE} \<br>
&gt;      --enable-libssp \<br>
&gt;      --disable-bootstrap \<br>
&gt;      --disable-libmudflap \<br>
&gt;      --with-system-zlib \<br>
&gt; -    --with-linker-hash-style=${LINKER_HASH_STYLE} \<br>
&gt;      --enable-linker-build-id \<br>
&gt;      --with-ppl=no \<br>
&gt;      --with-cloog=no \<br>
&gt; diff --git a/meta/recipes-devtools/gcc/gcc-5.3.inc b/meta/recipes-devtools/gcc/gcc-5.3.inc<br>
&gt; index 8613a10..faa1292 100644<br>
&gt; --- a/meta/recipes-devtools/gcc/gcc-5.3.inc<br>
&gt; +++ b/meta/recipes-devtools/gcc/gcc-5.3.inc<br>
&gt; @@ -113,14 +113,15 @@ JAVA = &quot;&quot;<br>
&gt;<br>
&gt;  LTO = &quot;--enable-lto&quot;<br>
&gt;<br>
&gt; +OECONF_HASH_STYLE = &quot;--with-linker-hash-style=${LINKER_HASH_STYLE}&quot;<br>
&gt;  EXTRA_OECONF_BASE = &quot;\<br>
&gt;      ${LTO} \<br>
&gt; +    ${OECONF_HASH_STYLE} \<br>
&gt;      --enable-libssp \<br>
&gt;      --enable-libitm \<br>
&gt;      --disable-bootstrap \<br>
&gt;      --disable-libmudflap \<br>
&gt;      --with-system-zlib \<br>
&gt; -    --with-linker-hash-style=${LINKER_HASH_STYLE} \<br>
&gt;      --enable-linker-build-id \<br>
&gt;      --with-ppl=no \<br>
&gt;      --with-cloog=no \<br>
&gt; diff --git a/meta/recipes-devtools/gcc/gcc-6.1.inc b/meta/recipes-devtools/gcc/gcc-6.1.inc<br>
&gt; index 1a00f3f..e3ff9cb 100644<br>
&gt; --- a/meta/recipes-devtools/gcc/gcc-6.1.inc<br>
&gt; +++ b/meta/recipes-devtools/gcc/gcc-6.1.inc<br>
&gt; @@ -93,14 +93,15 @@ JAVA = &quot;&quot;<br>
&gt;<br>
&gt;  LTO = &quot;--enable-lto&quot;<br>
&gt;<br>
&gt; +OECONF_HASH_STYLE = &quot;--with-linker-hash-style=${LINKER_HASH_STYLE}&quot;<br>
&gt;  EXTRA_OECONF_BASE = &quot;\<br>
&gt;      ${LTO} \<br>
&gt; +    ${OECONF_HASH_STYLE} \<br>
&gt;      --enable-libssp \<br>
&gt;      --enable-libitm \<br>
&gt;      --disable-bootstrap \<br>
&gt;      --disable-libmudflap \<br>
&gt;      --with-system-zlib \<br>
&gt; -    --with-linker-hash-style=${LINKER_HASH_STYLE} \<br>
&gt;      --enable-linker-build-id \<br>
&gt;      --with-ppl=no \<br>
&gt;      --with-cloog=no \<br>
&gt; diff --git a/meta/recipes-devtools/gcc/gcc-cross.inc b/meta/recipes-devtools/gcc/gcc-cross.inc<br>
&gt; index f479360..850c63a 100644<br>
&gt; --- a/meta/recipes-devtools/gcc/gcc-cross.inc<br>
&gt; +++ b/meta/recipes-devtools/gcc/gcc-cross.inc<br>
&gt; @@ -33,6 +33,7 @@ EXTRA_OECONF_PATHS = &quot;\<br>
&gt;      --with-sysroot=/not/exist \<br>
&gt;      --with-build-sysroot=${STAGING_DIR_TARGET} \<br>
&gt;  &quot;<br>
&gt; +OECONF_HASH_STYLE = &quot;&quot;<br>
<br>
</div></div>May be we can just explicitly override default LINKER_HASH_STYLE here<br>
by setting LINKER_HASH_STYLE = &quot;sysv&quot;<br>
which is effectively what we are doing by removing the option.</blockquote></div><br>Ah, good idea, that would be simpler. Thanks, I&#39;ll try that.<br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Christopher Larson<br>kergoth at gmail dot com<br>Founder - BitBake, OpenEmbedded, OpenZaurus<br>Maintainer - Tslib<br>Senior Software Engineer, Mentor Graphics</div></div>
</div></div>