platform_bionic/libc/arch-arm/syscalls/__socket.S
Christopher Ferris f5a9123d9f Add unwind information for r7 in arm syscalls.
It turns out that clang can emit code where the sp is saved in the r7
register on arm. Unfortunately, a lot of our syscalls overwrite that
value while the syscall is executing, so unwinding through that syscall
fails.

Update the syscall generation code to add unwinding information for
these uses.

Bug: 28411713
(cherry picked from commit 6e45d37dec)

Change-Id: Ib775effc44c4113735fe9032b0602b9d63e3e390
2016-04-27 20:34:47 -07:00

16 lines
339 B
ArmAsm

/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(__socket)
mov ip, r7
.cfi_register r7, ip
ldr r7, =__NR_socket
swi #0
mov r7, ip
.cfi_restore r7
cmn r0, #(MAX_ERRNO + 1)
bxls lr
neg r0, r0
b __set_errno_internal
END(__socket)