diff options
author | Nick Desaulniers (paternity leave) <nickdesaulniers@users.noreply.github.com> | 2024-06-25 09:58:50 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-25 09:58:50 -0700 |
commit | 4c87212d63c3b45e9371434239553ef007216106 (patch) | |
tree | 006f9a23b1563cb5652be4375c7938965363dcbd /flang/lib/Frontend/CompilerInvocation.cpp | |
parent | 0b049ce64653a8cbdeedaa2bfe6cc79fc6af5d40 (diff) | |
download | llvm-4c87212d63c3b45e9371434239553ef007216106.zip llvm-4c87212d63c3b45e9371434239553ef007216106.tar.gz llvm-4c87212d63c3b45e9371434239553ef007216106.tar.bz2 |
[libc][thumb] support syscalls from thumb mode (#96558)
r7 is reserved in thumb2 (typically for the frame pointer, as opposed to r11 in
ARM mode), so assigning to a variable with explicit register storage in r7 will
produce an error.
But r7 is where the Linux kernel expects the syscall number to be placed. We
can use a temporary to get the register allocator to pick a temporary, which we
save+restore the previous value of r7 in.
Fixes: #93738
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions