<p dir="ltr"><br>
On Jan 26, 2016 2:59 PM, &quot;Mathieu Desnoyers&quot; &lt;<a href="mailto:mathieu.desnoyers@efficios.com">mathieu.desnoyers@efficios.com</a>&gt; wrote:<br>
&gt;<br>
&gt; ----- On Jan 26, 2016, at 11:28 AM, Khem Raj <a href="mailto:raj.khem@gmail.com">raj.khem@gmail.com</a> wrote:<br>
&gt;<br>
&gt; &gt;&gt; On Jan 25, 2016, at 8:02 PM, Mathieu Desnoyers &lt;<a href="mailto:mathieu.desnoyers@efficios.com">mathieu.desnoyers@efficios.com</a>&gt;<br>
&gt; &gt;&gt; wrote:<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Hi,<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; We are noticing the presence of the following patch in various<br>
&gt; &gt;&gt; openembedded gcc versions:<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; 0024-PR-target-32219.patch<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; &quot;From e0d15f4f8bf28c351b9215ca37f1caa24df0e1fd Mon Sep 17 00:00:00 2001<br>
&gt; &gt;&gt; From: Khem Raj &lt;<a href="mailto:raj.khem@gmail.com">raj.khem@gmail.com</a>&gt;<br>
&gt; &gt;&gt; Date: Fri, 29 Mar 2013 09:18:54 +0400<br>
&gt; &gt;&gt; Subject: [PATCH 24/35] PR target/32219<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; * varasm.c (default_binds_local_p_1): Weak data is not local.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Signed-off-by: Bernhard Reutner-Fischer &lt;<a href="mailto:rep.dot.nop@gmail.com">rep.dot.nop@gmail.com</a>&gt;<br>
&gt; &gt;&gt; Signed-off-by: Khem Raj &lt;<a href="mailto:raj.khem@gmail.com">raj.khem@gmail.com</a>&gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Upstream-Status: Backport&quot;<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; However, contrarily to its &quot;Backport&quot; status, that patch is<br>
&gt; &gt;&gt; not upstream in gcc, and we&#39;re starting to wonder if this<br>
&gt; &gt;&gt; would be the patch that breaks handling of start/stop automatic<br>
&gt; &gt;&gt; hidden symbols we use in lttng-ust.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; We are only experiencing problems on the various openembedded<br>
&gt; &gt;&gt; compilers, but on no other distro (with same compiler versions),<br>
&gt; &gt;&gt; which leads us to suspect a buggy distro-specific gcc patch.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; We&#39;ve been testing with openembedded gcc-4.9.2-r0.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; The original gold linker issue that this patch was trying to<br>
&gt; &gt;&gt; address seems to have been fixed in the gold linke since<br>
&gt; &gt;&gt; then.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Refs:<br>
&gt; &gt;&gt; <a href="http://lists.lttng.org/pipermail/lttng-dev/2014-May/023112.html">http://lists.lttng.org/pipermail/lttng-dev/2014-May/023112.html</a><br>
&gt; &gt;&gt; <a href="https://gcc.gnu.org/ml/gcc-help/2014-05/msg00042.html">https://gcc.gnu.org/ml/gcc-help/2014-05/msg00042.html</a><br>
&gt; &gt;&gt; <a href="http://cgit.openembedded.org/openembedded-core/commit/?id=3cb2b003db7371b3a47d02c08352a262e1e419b4">http://cgit.openembedded.org/openembedded-core/commit/?id=3cb2b003db7371b3a47d02c08352a262e1e419b4</a><br>
&gt; &gt;&gt; <a href="https://sourceware.org/bugzilla/show_bug.cgi?id=15435">https://sourceware.org/bugzilla/show_bug.cgi?id=15435</a><br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Thoughts ?<br>
&gt; &gt;<br>
&gt; &gt; OE has defaulted to gcc5 since last release, and gold issue is fixed in binutils<br>
&gt; &gt; 2.25<br>
&gt; &gt; which is what we use in 2.0 as well so it might be OK to unbolt this fix.<br>
&gt; &gt; Although I am not sure<br>
&gt; &gt; about the original problem reported in PR32219 is fixed for gcc 4.9 if we remove<br>
&gt; &gt; this fix.<br>
&gt; &gt; Have you narrowed down your issue to this patch ? if not, then it would be good<br>
&gt; &gt; to do so<br>
&gt;<br>
&gt; Yes, we have narrowed down our problem to this specific patch by<br>
&gt; removing the patch from the OE gcc patches, rebuilding gcc, and<br>
&gt; then building our test program with that gcc. The problem goes<br>
&gt; away when we do so, which points directly to that patch as a<br>
&gt; culprit.<br>
&gt;<br>
&gt; Test program is attached.</p>
<p dir="ltr">Ok I think we can remove this from master and jethro release<br>
&gt;<br>
&gt; Faulty[gcc 4.9-r0 with patch 0024]:<br>
&gt;<br>
&gt; main: myvar addr=0x600c90 __start___test=0x600c90<br>
&gt; fct: myvar addr=0x7f8733d1eae8 __start___test=0x600c90<br>
&gt; fct2: myvar addr=0x7f8733d1eaec __start___test=0x600c90<br>
&gt; fct3: myvar addr=0x600c94 __start___test=0x600c90<br>
&gt;<br>
&gt; Valid[gcc 4.9-r0 without patch 0024]:<br>
&gt;<br>
&gt; main: myvar addr=0x600c60 __start___test=0x600c60<br>
&gt; fct: myvar addr=0x7fb62c758a90 __start___test=0x7fb62c758a90<br>
&gt; fct2: myvar addr=0x7fb62c758a94 __start___test=0x7fb62c758a90<br>
&gt; fct3: myvar addr=0x600c64 __start___test=0x600c60<br>
&gt;<br>
&gt; Thanks,<br>
&gt;<br>
&gt; Mathieu<br>
&gt;<br>
&gt; &gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Thanks,<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Mathieu<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; --<br>
&gt; &gt;&gt; Mathieu Desnoyers<br>
&gt; &gt;&gt; EfficiOS Inc.<br>
&gt; &gt; &gt; <a href="http://www.efficios.com">http://www.efficios.com</a><br>
&gt;<br>
&gt; --<br>
&gt; Mathieu Desnoyers<br>
&gt; EfficiOS Inc.<br>
&gt; <a href="http://www.efficios.com">http://www.efficios.com</a><br>
</p>