summaryrefslogtreecommitdiff
path: root/crt/x86_64
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2019-09-11 13:13:57 -0400
committerRich Felker <dalias@aerifal.cx>2019-09-11 13:13:57 -0400
commit05870abeaac0588fb9115cfd11f96880a0af2108 (patch)
tree1893d6f9ff58ed7fd00735e7ba06bff135979257 /crt/x86_64
parent9920bf45cc741ec0ab474fa67584f4dec023b6d0 (diff)
downloadmusl-05870abeaac0588fb9115cfd11f96880a0af2108.tar.gz
fix code path where child function returns in arm __clone built as thumb
mov lr,pc is not a valid way to save the return address in thumb mode since it omits the thumb bit. use a chain of bl and bx to emulate blx. this could be avoided by converting to a .S file with preprocessor conditions to use blx if available, but the time cost here is dominated by the syscall anyway. while making this change, also remove the remnants of support for pre-bx ISA levels. commit 9f290a49bf9ee247d540d3c83875288a7991699c removed the hack from the parent code paths, but left the unnecessary code in the child. keeping it would require rewriting two code paths rather than one, and is useless for reasons described in that commit.
Diffstat (limited to 'crt/x86_64')
0 files changed, 0 insertions, 0 deletions