aboutsummaryrefslogtreecommitdiffstats
path: root/arch/c6x
diff options
context:
space:
mode:
Diffstat (limited to 'arch/c6x')
-rw-r--r--arch/c6x/include/asm/elf.h14
-rw-r--r--arch/c6x/include/asm/mmu.h4
-rw-r--r--arch/c6x/include/asm/ptrace.h5
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) \
37do { \
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
14typedef struct { 14typedef 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