The mov lr, pc instruction will lose the Thumb bit from the return address so use blx lr instead. ports/ChangeLog.arm: 2013-08-29 Will Newton <will.newton@linaro.org> * sysdeps/unix/sysv/linux/arm/clone.S (__clone): Use blx instead of mov lr, pc. --- ports/sysdeps/unix/sysv/linux/arm/clone.S | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ports/sysdeps/unix/sysv/linux/arm/clone.S b/ports/sysdeps/unix/sysv/linux/arm/clone.S index ce9c2a5..6e74fa7 100644 --- a/ports/sysdeps/unix/sysv/linux/arm/clone.S +++ b/ports/sysdeps/unix/sysv/linux/arm/clone.S @@ -93,8 +93,8 @@ PSEUDO_END (__clone) mov lr, pc bx ip #else - mov lr, pc - ldr pc, [sp], #8 + ldr lr, [sp], #8 + blx lr #endif @ and we are done, passing the return value through r0 -- 1.8.1.4
On Thu, 29 Aug 2013, Will Newton wrote:
> The mov lr, pc instruction will lose the Thumb bit from the return address
> so use blx lr instead.
>
> ports/ChangeLog.arm:
>
> 2013-08-29 Will Newton <will.newton@linaro.org>
>
> * sysdeps/unix/sysv/linux/arm/clone.S (__clone): Use blx
> instead of mov lr, pc.
OK given a bug filed in Bugzilla and appropriate [BZ #N] notation and
addition of the fixed bug number to NEWS. Since this is a regression
arising from the changes to build .S files as Thumb, you should also
cherry-pick the fix to 2.18 branch.
--
Joseph S. Myers
joseph@codesourcery.com
On 29 August 2013 20:26, Joseph S. Myers <joseph@codesourcery.com> wrote:
Hi Joseph,
>> The mov lr, pc instruction will lose the Thumb bit from the return address
>> so use blx lr instead.
>>
>> ports/ChangeLog.arm:
>>
>> 2013-08-29 Will Newton <will.newton@linaro.org>
>>
>> * sysdeps/unix/sysv/linux/arm/clone.S (__clone): Use blx
>> instead of mov lr, pc.
>
> OK given a bug filed in Bugzilla and appropriate [BZ #N] notation and
> addition of the fixed bug number to NEWS. Since this is a regression
> arising from the changes to build .S files as Thumb, you should also
> cherry-pick the fix to 2.18 branch.
I've filed a bug and posted a v2. I don't have commit access so I'm
not sure what the best way to facilitate the cherry pick is. Apart
from the NEWS entry the merge should be trivial.
--
Will Newton
Toolchain Working Group, Linaro
On Thu, 29 Aug 2013, Will Newton wrote:
> I've filed a bug and posted a v2. I don't have commit access so I'm
> not sure what the best way to facilitate the cherry pick is. Apart
> from the NEWS entry the merge should be trivial.
It's time for you to get commit access to commit your own patches once
they've been approved. Overseers, please add user willnewton to the glibc
group.
--
Joseph S. Myers
joseph@codesourcery.com
On 29 August 2013 20:26, Joseph S. Myers <joseph@codesourcery.com> wrote:
> On Thu, 29 Aug 2013, Will Newton wrote:
>
>> The mov lr, pc instruction will lose the Thumb bit from the return address
>> so use blx lr instead.
>>
>> ports/ChangeLog.arm:
>>
>> 2013-08-29 Will Newton <will.newton@linaro.org>
>>
>> * sysdeps/unix/sysv/linux/arm/clone.S (__clone): Use blx
>> instead of mov lr, pc.
>
> OK given a bug filed in Bugzilla and appropriate [BZ #N] notation and
> addition of the fixed bug number to NEWS. Since this is a regression
> arising from the changes to build .S files as Thumb, you should also
> cherry-pick the fix to 2.18 branch.
Committed to master and the 2.18 branch. Let me know if I missed anything.
Thanks!
--
Will Newton
Toolchain Working Group, Linaro
On 08/30/2013 06:18 AM, Will Newton wrote:
> On 29 August 2013 20:26, Joseph S. Myers <joseph@codesourcery.com> wrote:
>> On Thu, 29 Aug 2013, Will Newton wrote:
>>
>>> The mov lr, pc instruction will lose the Thumb bit from the return address
>>> so use blx lr instead.
>>>
>>> ports/ChangeLog.arm:
>>>
>>> 2013-08-29 Will Newton <will.newton@linaro.org>
>>>
>>> * sysdeps/unix/sysv/linux/arm/clone.S (__clone): Use blx
>>> instead of mov lr, pc.
>>
>> OK given a bug filed in Bugzilla and appropriate [BZ #N] notation and
>> addition of the fixed bug number to NEWS. Since this is a regression
>> arising from the changes to build .S files as Thumb, you should also
>> cherry-pick the fix to 2.18 branch.
>
> Committed to master and the 2.18 branch. Let me know if I missed anything.
Please be aware that the release manager for 2.18 should be ACK'ing your
patches going into 2.18 (David Miller). David is responsible for the
branch and it's his responsibility if the branch gets into a bad state.
You can make it easy for David by stating that Joseph said it's OK, and
explaining your testing.
Cheers,
Carlos.