diff --git a/ndk/platforms/android-20/arch-x86_64/include/i386/elf_machdep.h b/ndk/platforms/android-20/arch-x86_64/include/i386/elf_machdep.h new file mode 100644 index 000000000..442c561a9 --- /dev/null +++ b/ndk/platforms/android-20/arch-x86_64/include/i386/elf_machdep.h @@ -0,0 +1,63 @@ +/* $NetBSD: elf_machdep.h,v 1.10 2009/05/30 05:56:52 skrll Exp $ */ + +#define ELF32_MACHDEP_ENDIANNESS ELFDATA2LSB +#define ELF32_MACHDEP_ID_CASES \ + case EM_386: \ + case EM_486: \ + break; + +#define ELF64_MACHDEP_ENDIANNESS XXX /* break compilation */ +#define ELF64_MACHDEP_ID_CASES \ + /* no 64-bit ELF machine types supported */ + +#define ELF32_MACHDEP_ID EM_386 + +#define ARCH_ELFSIZE 32 /* MD native binary size */ + +/* i386 relocations */ +#define R_386_NONE 0 +#define R_386_32 1 +#define R_386_PC32 2 +#define R_386_GOT32 3 +#define R_386_PLT32 4 +#define R_386_COPY 5 +#define R_386_GLOB_DAT 6 +#define R_386_JMP_SLOT 7 +#define R_386_RELATIVE 8 +#define R_386_GOTOFF 9 +#define R_386_GOTPC 10 + +/* TLS relocations */ +#define R_386_TLS_TPOFF 14 +#define R_386_TLS_IE 15 +#define R_386_TLS_GOTIE 16 +#define R_386_TLS_LE 17 +#define R_386_TLS_GD 18 +#define R_386_TLS_LDM 19 + +/* The following relocations are GNU extensions. */ +#define R_386_16 20 +#define R_386_PC16 21 +#define R_386_8 22 +#define R_386_PC8 23 + +/* More TLS relocations */ +#define R_386_TLS_GD_32 24 +#define R_386_TLS_GD_PUSH 25 +#define R_386_TLS_GD_CALL 26 +#define R_386_TLS_GD_POP 27 +#define R_386_TLS_LDM_32 28 +#define R_386_TLS_LDM_PUSH 29 +#define R_386_TLS_LDM_CALL 30 +#define R_386_TLS_LDM_POP 31 +#define R_386_TLS_LDO_32 32 +#define R_386_TLS_IE_32 33 +#define R_386_TLS_LE_32 34 +#define R_386_TLS_DTPMOD32 35 +#define R_386_TLS_DTPOFF32 36 +#define R_386_TLS_TPOFF32 37 +#define R_386_TLS_GOTDESC 39 +#define R_386_TLS_DESC_CALL 40 +#define R_386_TLS_DESC 41 + +#define R_TYPE(name) __CONCAT(R_386_,name) diff --git a/ndk/platforms/android-20/include/asm/page.h b/ndk/platforms/android-20/include/asm/page.h deleted file mode 100644 index d401a3fe3..000000000 --- a/ndk/platforms/android-20/include/asm/page.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (C) 2013 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __ASM_PAGE_H -#define __ASM_PAGE_H - -/* New code should use sysconf(_SC_PAGESIZE) instead. */ -#define PAGE_SHIFT 12 -#define PAGE_SIZE (1ULL << PAGE_SHIFT) -#define PAGE_MASK (~(PAGE_SIZE - 1)) - -#endif diff --git a/ndk/platforms/android-3/include/stdint.h b/ndk/platforms/android-3/include/stdint.h index 7ae2595b8..be49485f4 100644 --- a/ndk/platforms/android-3/include/stdint.h +++ b/ndk/platforms/android-3/include/stdint.h @@ -25,172 +25,49 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ + #ifndef _STDINT_H #define _STDINT_H #include #include -#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) -# define __STDINT_LIMITS -#endif - -#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) -# define __STDINT_MACROS -#endif - typedef __int8_t int8_t; typedef __uint8_t uint8_t; + typedef __int16_t int16_t; typedef __uint16_t uint16_t; + typedef __int32_t int32_t; typedef __uint32_t uint32_t; + typedef __int64_t int64_t; typedef __uint64_t uint64_t; -/* - * int8_t & uint8_t - */ - typedef int8_t int_least8_t; typedef int8_t int_fast8_t; typedef uint8_t uint_least8_t; typedef uint8_t uint_fast8_t; -#ifdef __STDINT_LIMITS -# define INT8_MIN (-128) -# define INT8_MAX (127) -# define INT_LEAST8_MIN INT8_MIN -# define INT_LEAST8_MAX INT8_MAX -# define INT_FAST8_MIN INT8_MIN -# define INT_FAST8_MAX INT8_MAX - -# define UINT8_MAX (255) -# define UINT_LEAST8_MAX UINT8_MAX -# define UINT_FAST8_MAX UINT8_MAX -#endif - -#ifdef __STDINT_MACROS -# define INT8_C(c) c -# define INT_LEAST8_C(c) INT8_C(c) -# define INT_FAST8_C(c) INT8_C(c) - -# define UINT8_C(c) c -# define UINT_LEAST8_C(c) UINT8_C(c) -# define UINT_FAST8_C(c) UINT8_C(c) -#endif - -/* - * int16_t & uint16_t - */ - typedef int16_t int_least16_t; typedef int32_t int_fast16_t; typedef uint16_t uint_least16_t; typedef uint32_t uint_fast16_t; -#ifdef __STDINT_LIMITS -# define INT16_MIN (-32768) -# define INT16_MAX (32767) -# define INT_LEAST16_MIN INT16_MIN -# define INT_LEAST16_MAX INT16_MAX -# define INT_FAST16_MIN INT32_MIN -# define INT_FAST16_MAX INT32_MAX - -# define UINT16_MAX (65535) -# define UINT_LEAST16_MAX UINT16_MAX -# define UINT_FAST16_MAX UINT32_MAX -#endif - -#ifdef __STDINT_MACROS -# define INT16_C(c) c -# define INT_LEAST16_C(c) INT16_C(c) -# define INT_FAST16_C(c) INT32_C(c) - -# define UINT16_C(c) c -# define UINT_LEAST16_C(c) UINT16_C(c) -# define UINT_FAST16_C(c) UINT32_C(c) -#endif - -/* - * int32_t & uint32_t - */ - typedef int32_t int_least32_t; typedef int32_t int_fast32_t; typedef uint32_t uint_least32_t; typedef uint32_t uint_fast32_t; -#ifdef __STDINT_LIMITS -# define INT32_MIN (-2147483647-1) -# define INT32_MAX (2147483647) -# define INT_LEAST32_MIN INT32_MIN -# define INT_LEAST32_MAX INT32_MAX -# define INT_FAST32_MIN INT32_MIN -# define INT_FAST32_MAX INT32_MAX - -# define UINT32_MAX (4294967295U) -# define UINT_LEAST32_MAX UINT32_MAX -# define UINT_FAST32_MAX UINT32_MAX -#endif - -#ifdef __STDINT_MACROS -# define INT32_C(c) c -# define INT_LEAST32_C(c) INT32_C(c) -# define INT_FAST32_C(c) INT32_C(c) - -# define UINT32_C(c) c ## U -# define UINT_LEAST32_C(c) UINT32_C(c) -# define UINT_FAST32_C(c) UINT32_C(c) -#endif - -/* - * int64_t - */ - typedef int64_t int_least64_t; typedef int64_t int_fast64_t; typedef uint64_t uint_least64_t; typedef uint64_t uint_fast64_t; -#ifdef __STDINT_LIMITS -# define INT64_MIN (__INT64_C(-9223372036854775807)-1) -# define INT64_MAX (__INT64_C(9223372036854775807)) -# define INT_LEAST64_MIN INT64_MIN -# define INT_LEAST64_MAX INT64_MAX -# define INT_FAST64_MIN INT64_MIN -# define INT_FAST64_MAX INT64_MAX -# define UINT64_MAX (__UINT64_C(18446744073709551615)) - -# define UINT_LEAST64_MAX UINT64_MAX -# define UINT_FAST64_MAX UINT64_MAX -#endif - -#define __INT64_C(c) c ## LL -#define __UINT64_C(c) c ## ULL - -#ifdef __STDINT_MACROS -# define INT64_C(c) __INT64_C(c) -# define INT_LEAST64_C(c) INT64_C(c) -# define INT_FAST64_C(c) INT64_C(c) - -# define UINT64_C(c) __UINT64_C(c) -# define UINT_LEAST64_C(c) UINT64_C(c) -# define UINT_FAST64_C(c) UINT64_C(c) -#endif - -# define __PRI64_RANK "ll" -# define __PRIFAST_RANK "" -# define __PRIPTR_RANK "" - -/* - * intptr_t & uintptr_t - */ - #ifdef __LP64__ typedef long intptr_t; typedef unsigned long uintptr_t; @@ -199,64 +76,130 @@ typedef int intptr_t; typedef unsigned int uintptr_t; #endif -#ifdef __STDINT_LIMITS -# define INTPTR_MIN INT32_MIN -# define INTPTR_MAX INT32_MAX -# define UINTPTR_MAX UINT32_MAX -# define PTRDIFF_MIN INT32_MIN -# define PTRDIFF_MAX INT32_MAX -#endif - -#ifdef __STDINT_MACROS -# define INTPTR_C(c) INT32_C(c) -# define UINTPTR_C(c) UINT32_C(c) -# define PTRDIFF_C(c) INT32_C(c) -#endif - -/* - * intmax_t & uintmax_t - */ - typedef uint64_t uintmax_t; typedef int64_t intmax_t; -#ifdef __STDINT_LIMITS -# define INTMAX_MIN INT64_MIN -# define INTMAX_MAX INT64_MAX -# define UINTMAX_MAX UINT64_MAX -#endif - -#ifdef __STDINT_MACROS -# define INTMAX_C(c) INT64_C(c) -# define UINTMAX_C(c) UINT64_C(c) -#endif - -/* Limits of sig_atomic_t. */ -#ifdef __STDINT_LIMITS -# define SIG_ATOMIC_MIN INT32_MIN -# define SIG_ATOMIC_MAX INT32_MAX -#endif - -/* Limits of wchar_t. */ -#ifdef __STDINT_LIMITS -#include -#endif - -/* Limits of wint_t. */ -#ifdef __STDINT_LIMITS -# define WINT_MIN INT32_MIN -# define WINT_MAX INT32_MAX -#endif - -/* size_t is defined by the GCC-specific */ -#ifndef _SSIZE_T_DEFINED_ -#define _SSIZE_T_DEFINED_ -typedef long int ssize_t; -#endif - -#define _BITSIZE 32 - /* Keep the kernel from trying to define these types... */ #define __BIT_TYPES_DEFINED__ +#define INT8_C(c) c +#define INT_LEAST8_C(c) INT8_C(c) +#define INT_FAST8_C(c) INT8_C(c) + +#define UINT8_C(c) c +#define UINT_LEAST8_C(c) UINT8_C(c) +#define UINT_FAST8_C(c) UINT8_C(c) + +#define INT16_C(c) c +#define INT_LEAST16_C(c) INT16_C(c) +#define INT_FAST16_C(c) INT32_C(c) + +#define UINT16_C(c) c +#define UINT_LEAST16_C(c) UINT16_C(c) +#define UINT_FAST16_C(c) UINT32_C(c) +#define INT32_C(c) c +#define INT_LEAST32_C(c) INT32_C(c) +#define INT_FAST32_C(c) INT32_C(c) + +#define UINT32_C(c) c ## U +#define UINT_LEAST32_C(c) UINT32_C(c) +#define UINT_FAST32_C(c) UINT32_C(c) +#define INT_LEAST64_C(c) INT64_C(c) +#define INT_FAST64_C(c) INT64_C(c) + +#define UINT_LEAST64_C(c) UINT64_C(c) +#define UINT_FAST64_C(c) UINT64_C(c) + +#define INTMAX_C(c) INT64_C(c) +#define UINTMAX_C(c) UINT64_C(c) + +#ifdef __LP64__ +# define INT64_C(c) c ## L +# define UINT64_C(c) c ## UL +# define INTPTR_C(c) INT64_C(c) +# define UINTPTR_C(c) UINT64_C(c) +# define PTRDIFF_C(c) INT64_C(c) +#else +# define INT64_C(c) c ## LL +# define UINT64_C(c) c ## ULL +# define INTPTR_C(c) INT32_C(c) +# define UINTPTR_C(c) UINT32_C(c) +# define PTRDIFF_C(c) INT32_C(c) +#endif + +#define INT8_MIN (-128) +#define INT8_MAX (127) +#define INT_LEAST8_MIN INT8_MIN +#define INT_LEAST8_MAX INT8_MAX +#define INT_FAST8_MIN INT8_MIN +#define INT_FAST8_MAX INT8_MAX + +#define UINT8_MAX (255) +#define UINT_LEAST8_MAX UINT8_MAX +#define UINT_FAST8_MAX UINT8_MAX + +#define INT16_MIN (-32768) +#define INT16_MAX (32767) +#define INT_LEAST16_MIN INT16_MIN +#define INT_LEAST16_MAX INT16_MAX +#define INT_FAST16_MIN INT32_MIN +#define INT_FAST16_MAX INT32_MAX + +#define UINT16_MAX (65535) +#define UINT_LEAST16_MAX UINT16_MAX +#define UINT_FAST16_MAX UINT32_MAX + +#define INT32_MIN (-2147483647-1) +#define INT32_MAX (2147483647) +#define INT_LEAST32_MIN INT32_MIN +#define INT_LEAST32_MAX INT32_MAX +#define INT_FAST32_MIN INT32_MIN +#define INT_FAST32_MAX INT32_MAX + +#define UINT32_MAX (4294967295U) +#define UINT_LEAST32_MAX UINT32_MAX +#define UINT_FAST32_MAX UINT32_MAX + +#define INT64_MIN (INT64_C(-9223372036854775807)-1) +#define INT64_MAX (INT64_C(9223372036854775807)) +#define INT_LEAST64_MIN INT64_MIN +#define INT_LEAST64_MAX INT64_MAX +#define INT_FAST64_MIN INT64_MIN +#define INT_FAST64_MAX INT64_MAX +#define UINT64_MAX (UINT64_C(18446744073709551615)) + +#define UINT_LEAST64_MAX UINT64_MAX +#define UINT_FAST64_MAX UINT64_MAX + +#define INTMAX_MIN INT64_MIN +#define INTMAX_MAX INT64_MAX +#define UINTMAX_MAX UINT64_MAX + +#define SIG_ATOMIC_MAX INT32_MAX +#define SIG_ATOMIC_MIN INT32_MIN + +#ifndef WCHAR_MAX /* These might also have been defined by . */ +# define WCHAR_MAX INT32_MAX +# define WCHAR_MIN INT32_MIN +#endif + +#define WINT_MAX INT32_MAX +#define WINT_MIN INT32_MIN + +#ifdef __LP64__ +# define INTPTR_MIN INT64_MIN +# define INTPTR_MAX INT64_MAX +# define UINTPTR_MAX UINT64_MAX +# define PTRDIFF_MIN INT64_MIN +# define PTRDIFF_MAX INT64_MAX +# define SIZE_MAX UINT64_MAX +#else +# define INTPTR_MIN INT32_MIN +# define INTPTR_MAX INT32_MAX +# define UINTPTR_MAX UINT32_MAX +# define PTRDIFF_MIN INT32_MIN +# define PTRDIFF_MAX INT32_MAX +# define SIZE_MAX UINT32_MAX +#endif + #endif /* _STDINT_H */ diff --git a/ndk/platforms/android-9/arch-x86/include/asm/ptrace-abi.h b/ndk/platforms/android-9/arch-x86/include/asm/ptrace-abi.h index bbc7e86b2..f10a19508 100644 --- a/ndk/platforms/android-9/arch-x86/include/asm/ptrace-abi.h +++ b/ndk/platforms/android-9/arch-x86/include/asm/ptrace-abi.h @@ -18,28 +18,63 @@ ****************************************************************************/ #ifndef _ASM_X86_PTRACE_ABI_H #define _ASM_X86_PTRACE_ABI_H +#ifdef __i386__ #define EBX 0 -#define ECX 1 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define ECX 1 #define EDX 2 #define ESI 3 #define EDI 4 -#define EBP 5 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define EBP 5 #define EAX 6 #define DS 7 #define ES 8 -#define FS 9 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define FS 9 #define GS 10 #define ORIG_EAX 11 #define EIP 12 -#define CS 13 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define CS 13 #define EFL 14 #define UESP 15 #define SS 16 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define FRAME_SIZE 17 +#else +#if defined(__ASSEMBLY__) || defined(__FRAME_OFFSETS) +#define R15 0 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define R14 8 +#define R13 16 +#define R12 24 +#define RBP 32 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define RBX 40 +#define R11 48 +#define R10 56 +#define R9 64 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define R8 72 +#define RAX 80 +#define RCX 88 +#define RDX 96 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define RSI 104 +#define RDI 112 +#define ORIG_RAX 120 +#define RIP 128 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define CS 136 +#define EFLAGS 144 +#define RSP 152 +#define SS 160 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define ARGOFFSET R11 +#endif +#define FRAME_SIZE 168 +#endif /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define PTRACE_GETREGS 12 #define PTRACE_SETREGS 13 @@ -54,10 +89,13 @@ #define PTRACE_SET_THREAD_AREA 26 #ifdef __x86_64__ #define PTRACE_ARCH_PRCTL 30 -#else +#endif /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define PTRACE_SYSEMU 31 #define PTRACE_SYSEMU_SINGLESTEP 32 -#endif -#endif +#define PTRACE_SINGLEBLOCK 33 +#ifndef __ASSEMBLY__ /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#include +#endif +#endif diff --git a/ndk/platforms/android-9/arch-x86/include/asm/ptrace.h b/ndk/platforms/android-9/arch-x86/include/asm/ptrace.h index 95d381e2d..2efb9c4bb 100644 --- a/ndk/platforms/android-9/arch-x86/include/asm/ptrace.h +++ b/ndk/platforms/android-9/arch-x86/include/asm/ptrace.h @@ -16,34 +16,69 @@ *** **************************************************************************** ****************************************************************************/ -#ifndef _ASM_X86_PTRACE_H -#define _ASM_X86_PTRACE_H -#include +#ifndef _UAPI_ASM_X86_PTRACE_H +#define _UAPI_ASM_X86_PTRACE_H +#include #include /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#include #ifndef __ASSEMBLY__ +#ifdef __i386__ struct pt_regs { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ long ebx; long ecx; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ long edx; long esi; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ long edi; long ebp; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ long eax; int xds; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ int xes; int xfs; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + int xgs; long orig_eax; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ long eip; int xcs; long eflags; -/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ long esp; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ int xss; }; +#else +struct pt_regs { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + unsigned long r15; + unsigned long r14; + unsigned long r13; + unsigned long r12; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + unsigned long rbp; + unsigned long rbx; + unsigned long r11; + unsigned long r10; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + unsigned long r9; + unsigned long r8; + unsigned long rax; + unsigned long rcx; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + unsigned long rdx; + unsigned long rsi; + unsigned long rdi; + unsigned long orig_rax; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + unsigned long rip; + unsigned long cs; + unsigned long eflags; + unsigned long rsp; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + unsigned long ss; +}; +#endif #endif /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #endif