<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p><span class="pl-en">Change</span></p>
<p><span class="pl-en"> "adreq lr</span><span class="pl-s1">,</span><span
class="pl-en"> X(ff_h264_idct_add_neon) </span><span
class="pl-s1">+</span><span class="pl-en"> CONFIG_THUMB"</span></p>
<p><span class="pl-en">Into:</span></p>
<p>.eqv <span class="pl-en">ff_h264_idct_add_neon_without_func_type,
</span><span class="pl-en">X(ff_h264_idct_add_neon)</span><br>
<span class="pl-en"></span><span class="pl-en">adreq lr</span><span
class="pl-s1">,</span><span class="pl-en"> </span><span
class="pl-s1"><span class="pl-en">ff_h264_idct_add_neon_without_func_type
</span>+</span><span class="pl-en"> CONFIG_THUMB</span></p>
<p><span class="pl-en">might be a solution. The idea is we use .eqv
to remove the function attribute, so the assembler won't set LSB
in any case.<br>
</span></p>
<br>
<div class="moz-cite-prefix">On 04/08/17 12:39, Jiong Wang wrote:<br>
</div>
<blockquote type="cite"
cite="mid:70941b7c-03b6-6a18-ff66-138b3115fc5f@foss.arm.com">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Hi,
<p> This issue is caused by a recent change in ARM assembler
included since Binutils 2.29.</p>
<p> The details of that change can be found at <a
class="moz-txt-link-freetext"
href="https://sourceware.org/bugzilla/show_bug.cgi?id=21458"
moz-do-not-send="true">https://sourceware.org/bugzilla/show_bug.cgi?id=21458</a><br>
</p>
<p> The semantics of ADR has changed. In general, the address
generated by ADR will guarantee the LSB be set if it's a thumb
function address.</p>
<p> I noticed h264idct_neon.S is using something like:</p>
<p> <span class="pl-en">adreq lr</span><span class="pl-s1">,</span><span
class="pl-en"> X(ff_h264_idct_add_neon) </span><span
class="pl-s1">+</span><span class="pl-en"> CONFIG_THUMB<br>
</span></p>
<p> As ADR now will set the LSB automatically, you don't need
CONFIG_THUMB any more.</p>
<p> I think h264idct_neon.S needs to be updated, and the
modification should make sure it works with both old Binutils
and the new one.</p>
Regards,<br>
Jiong<br>
<br>
</blockquote>
<br>
</body>
</html>