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 /* 8 * NaCl Simple/secure ELF loader (NaCl SEL). 9 */ 10 11 #ifndef NATIVE_CLIENT_SRC_TRUSTED_SERVICE_RUNTIME_ARCH_X86_64_TRAMP_64_H__ 12 #define NATIVE_CLIENT_SRC_TRUSTED_SERVICE_RUNTIME_ARCH_X86_64_TRAMP_64_H__ 13 /* 14 * text addresses, not word aligned; these are .globl symbols from the 15 * assembler source, and there is no type information associated with 16 * them. we could declare these to be (void (*)(void)), i suppose, 17 * but it doesn't really matter since we convert their addresses to 18 * uintptr_t at every use. 19 */ 20 extern char NaCl_trampoline_code; 21 extern char NaCl_trampoline_code_end; 22 extern char NaCl_trampoline_tramp_addr; 23 extern char NaCl_trampoline_call_target; 24 25 extern char NaClDispatchThunk; 26 extern char NaClDispatchThunk_jmp_target; 27 extern char NaClDispatchThunkEnd; 28 29 extern char NaClGetTlsFastPath1; 30 extern char NaClGetTlsFastPath1RspRestored; 31 extern char NaClGetTlsFastPath1End; 32 extern char NaClGetTlsFastPath2; 33 extern char NaClGetTlsFastPath2RspRestored; 34 extern char NaClGetTlsFastPath2End; 35 36 #endif 37