| Index: sandbox/linux/seccomp-bpf/syscall.cc
 | 
| diff --git a/sandbox/linux/seccomp-bpf/syscall.cc b/sandbox/linux/seccomp-bpf/syscall.cc
 | 
| index 3b3c8db5b86dc9ad55c8c4c4c7787418ba095feb..bc6461f11773b245919596162eb4230162be56a4 100644
 | 
| --- a/sandbox/linux/seccomp-bpf/syscall.cc
 | 
| +++ b/sandbox/linux/seccomp-bpf/syscall.cc
 | 
| @@ -133,16 +133,21 @@ asm(// We need to be able to tell the kernel exactly where we made a
 | 
|  #else
 | 
|      ".arm\n"
 | 
|  #endif
 | 
| -    "SyscallAsm:.fnstart\n"
 | 
| +    "SyscallAsm:\n"
 | 
| +#if !defined(__native_client_nonsfi__)
 | 
| +    // .fnstart and .fnend pseudo operations creates unwind table.
 | 
| +    // It also creates a reference to the symbol __aeabi_unwind_cpp_pr0, which
 | 
| +    // is not provided by PNaCl toolchain. Disable it.
 | 
| +    ".fnstart\n"
 | 
| +#endif
 | 
|      "@ args = 0, pretend = 0, frame = 8\n"
 | 
|      "@ frame_needed = 1, uses_anonymous_args = 0\n"
 | 
|  #if defined(__thumb__)
 | 
|      ".cfi_startproc\n"
 | 
|      "push {r7, lr}\n"
 | 
| +    ".save {r7, lr}\n"
 | 
|      ".cfi_offset 14, -4\n"
 | 
|      ".cfi_offset  7, -8\n"
 | 
| -    "mov r7, sp\n"
 | 
| -    ".cfi_def_cfa_register 7\n"
 | 
|      ".cfi_def_cfa_offset 8\n"
 | 
|  #else
 | 
|      "stmfd sp!, {fp, lr}\n"
 | 
| @@ -177,7 +182,11 @@ asm(// We need to be able to tell the kernel exactly where we made a
 | 
|  #else
 | 
|      "2:ldmfd sp!, {fp, pc}\n"
 | 
|  #endif
 | 
| +#if !defined(__native_client_nonsfi__)
 | 
| +    // Do not use .fnstart and .fnend for PNaCl toolchain. See above comment,
 | 
| +    // for more details.
 | 
|      ".fnend\n"
 | 
| +#endif
 | 
|      "9:.size SyscallAsm, 9b-SyscallAsm\n"
 | 
|  #elif defined(__mips__)
 | 
|      ".text\n"
 | 
| 
 |