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