| OLD | NEW |
| (Empty) |
| 1 /* | |
| 2 * Copyright (c) 2011 The Native Client Authors. All rights reserved. | |
| 3 * Use of this source code is governed by a BSD-style license that can be | |
| 4 * found in the LICENSE file. | |
| 5 */ | |
| 6 | |
| 7 #include "native_client/src/trusted/service_runtime/nacl_config.h" | |
| 8 | |
| 9 /* | |
| 10 * The IRT uses its own private TLS, leaving [r9, #0] for the | |
| 11 * application. We must define __aeabi_read_tp to get the private one | |
| 12 * instead of the standard one. The EABI requires that this function | |
| 13 * preserve all registers except r0 (the return value register). A | |
| 14 * normal function is permitted to clobber r1, r2, and r3 as well. | |
| 15 */ | |
| 16 | |
| 17 .globl __aeabi_read_tp | |
| 18 .type __aeabi_read_tp,%function | |
| 19 .p2align NACL_BLOCK_SHIFT | |
| 20 __aeabi_read_tp: | |
| 21 ldr r0, [r9, #4] | |
| 22 bic lr, lr, #NACL_CONTROL_FLOW_MASK | |
| 23 bx lr | |
| OLD | NEW |