diff options
Diffstat (limited to 'arch/c6x')
-rw-r--r-- | arch/c6x/include/asm/elf.h | 14 | ||||
-rw-r--r-- | arch/c6x/include/asm/mmu.h | 4 | ||||
-rw-r--r-- | arch/c6x/include/asm/ptrace.h | 5 |
3 files changed, 22 insertions, 1 deletions
diff --git a/arch/c6x/include/asm/elf.h b/arch/c6x/include/asm/elf.h index d57865ba2c44..f4552db20b4a 100644 --- a/arch/c6x/include/asm/elf.h +++ b/arch/c6x/include/asm/elf.h | |||
@@ -30,7 +30,19 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; | |||
30 | */ | 30 | */ |
31 | #define elf_check_arch(x) ((x)->e_machine == EM_TI_C6000) | 31 | #define elf_check_arch(x) ((x)->e_machine == EM_TI_C6000) |
32 | 32 | ||
33 | #define elf_check_const_displacement(x) (1) | 33 | #define elf_check_fdpic(x) (1) |
34 | #define elf_check_const_displacement(x) (0) | ||
35 | |||
36 | #define ELF_FDPIC_PLAT_INIT(_regs, _exec_map, _interp_map, _dynamic_addr) \ | ||
37 | do { \ | ||
38 | _regs->b4 = (_exec_map); \ | ||
39 | _regs->a6 = (_interp_map); \ | ||
40 | _regs->b6 = (_dynamic_addr); \ | ||
41 | } while (0) | ||
42 | |||
43 | #define ELF_FDPIC_CORE_EFLAGS 0 | ||
44 | |||
45 | #define ELF_CORE_COPY_FPREGS(...) 0 /* No FPU regs to copy */ | ||
34 | 46 | ||
35 | /* | 47 | /* |
36 | * These are used to set parameters in the core dumps. | 48 | * These are used to set parameters in the core dumps. |
diff --git a/arch/c6x/include/asm/mmu.h b/arch/c6x/include/asm/mmu.h index 41592bf16067..4467e770a1ce 100644 --- a/arch/c6x/include/asm/mmu.h +++ b/arch/c6x/include/asm/mmu.h | |||
@@ -13,6 +13,10 @@ | |||
13 | 13 | ||
14 | typedef struct { | 14 | typedef struct { |
15 | unsigned long end_brk; | 15 | unsigned long end_brk; |
16 | #ifdef CONFIG_BINFMT_ELF_FDPIC | ||
17 | unsigned long exec_fdpic_loadmap; | ||
18 | unsigned long interp_fdpic_loadmap; | ||
19 | #endif | ||
16 | } mm_context_t; | 20 | } mm_context_t; |
17 | 21 | ||
18 | #endif /* _ASM_C6X_MMU_H */ | 22 | #endif /* _ASM_C6X_MMU_H */ |
diff --git a/arch/c6x/include/asm/ptrace.h b/arch/c6x/include/asm/ptrace.h index 21e8d7931fe7..b04ff5964258 100644 --- a/arch/c6x/include/asm/ptrace.h +++ b/arch/c6x/include/asm/ptrace.h | |||
@@ -97,6 +97,11 @@ | |||
97 | #define PT_DP PT_B14 /* Data Segment Pointer (B14) */ | 97 | #define PT_DP PT_B14 /* Data Segment Pointer (B14) */ |
98 | #define PT_SP PT_B15 /* Stack Pointer (B15) */ | 98 | #define PT_SP PT_B15 /* Stack Pointer (B15) */ |
99 | 99 | ||
100 | #define PTRACE_GETFDPIC 31 /* get the ELF fdpic loadmap address */ | ||
101 | |||
102 | #define PTRACE_GETFDPIC_EXEC 0 /* [addr] request the executable loadmap */ | ||
103 | #define PTRACE_GETFDPIC_INTERP 1 /* [addr] request the interpreter loadmap */ | ||
104 | |||
100 | #ifndef __ASSEMBLY__ | 105 | #ifndef __ASSEMBLY__ |
101 | 106 | ||
102 | #ifdef _BIG_ENDIAN | 107 | #ifdef _BIG_ENDIAN |