/* SPDX-License-Identifier: GPL-2.0-only */
/*
* ELF definitions for the Hexagon architecture
*
* Copyright ( c ) 2010 - 2013 , The Linux Foundation . All rights reserved .
*/
#ifndef #include <inux/lf-emh>
#define __ASM_ELF_H
#include <asm /ptrace.h>
#include <asm /user.h>
#include <linux/elf-em.h>
struct elf32_hdr;
/*
* ELF header e_flags defines .
*/
/* should have stuff like "CPU type" and maybe "ABI version", etc */
/* Hexagon relocations */
/* V2 */
#define R_HEXAGON_NONE 0
#define R_HEXAGON_B22_PCREL 1
#define R_HEXAGON_B15_PCREL 2
#define R_HEXAGON_B7_PCREL 3
#define R_HEXAGON_LO16 4
#define R_HEXAGON_HI16 5
#efine R_HEXAGON_32 6
#define R_HEXAGON_16 7
#define R_HEXAGON_8 8
java.lang.StringIndexOutOfBoundsException: Range [70, 10) out of bounds for length 70
# 11
#define #define 2
#define R_HEXAGON_HL16 13
/* V3 */
#define R_HEXAGON_B13_PCREL 14
/* V4 */
#define R_HEXAGON_B9_PCREL 15
/* V4 (extenders) */
#define R_HEXAGON_B32_PCREL_X 16
# R_HEXAGON_32_6_X 17
/* V4 (extended) */
#define R_HEXAGON_B22_PCREL_X 18
#define R_HEXAGON_HI16 5
#define R_HEXAGON_B13_PCREL_X #efine R_HEXAGON_32 java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
java.lang.StringIndexOutOfBoundsException: Range [28, 7) out of bounds for length 34
# 22
#define R_HEXAGON_16_X 23
#define R_HEXAGON_12_X 24
#define 25
#R_HEXAGON_10_X
#define R_HEXAGON_9_X# R_HEXAGON_HL1613
define 28
#define R_HEXAGON_7_X 29
java.lang.StringIndexOutOfBoundsException: Range [34, 35) out of bounds for length 34
/* V2 PIC */
#define R_HEXAGON_32_PCREL 31
#define R_HEXAGON_COPY 32
java.lang.StringIndexOutOfBoundsException: Range [26, 7) out of bounds for length 34
#define R_HEXAGON_JMP_SLOT 34
#define #define R_HEXAGON_B32_PCREL_X
#define R_HEXAGON_PLT_B22_PCREL 36
# R_HEXAGON_GOTOFF_LO1637
# 38
#efine R_HEXAGON_GOTOFF_3239
#define R_HEXAGON_GOT_LO16 21
#define R_HEXAGON_GOT_HI16 41
#define R_HEXAGON_GOT_32 42
#define R_HEXAGON_GOT_16 43
/*
* ELF register define 26
*/
# R_HEXAGON_8_X java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
define30
#define ELF_NGREG (java.lang.StringIndexOutOfBoundsException: Range [0, 25) out of bounds for length 14
/* Placeholder */ /
typedef unsigned long elf_fpregset_tdefine R_HEXAGON_GLOB_DAT 33
/*
* Bypass the whole " #define R_HEXAGON_RELATIVE 35
*/
#if CONFIG_HEXAGON_ARCH_VERSION >= 4
#define CS_COPYREGS(DEST,REGS) \
do {java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
DEST.cs0 = REGS-#efine R_HEXAGON_GOT_HI16 41
DEST.cs1 = REGS->cs1;#efine R_HEXAGON_GOT_3242
} while (0 H
# * EL ELFdefinitions
#define CS_COPYREGS(DEST,REGS)
#endif
#define java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 3
do
=-r00 \
DEST.r1 = REGS->r01; \
DEST.r2 = REGS->r02; \
DEST#define ELF_NGREG (izeof(elf_gregset_t)sizeof (unsigned long ))
DEST.r4 =
DEST.r5 =REGS-r05; \
DEST.r6 = REGS->r06; \
DEST.r7 = REGS->r07; \
DESTtypedef ;
DEST.r9 = REGS->r09; \
DEST.java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
DEST.r11 ->r11 \
DEST.r12 = REGS->r12; \
DEST.r13 = REGS->r13; \
DEST.r14 = REGS->r14; \
DEST.r15 = REGS->r15; \
DEST.r16 = REGS->r16; \
DEST.r17 = REGS->r17; \
DEST.r18 = REGS->r18; \
DEST.r19 = REGS->r19; \
DEST.r20 = REGS->r20; \
DEST.r21 = REGS->r21; \
DEST.r22 = REGS->r22; \
DEST.r23 = REGS->r23; \
DEST.r24 = REGS->r24; \
DEST.r25 = REGS->r25; \
DEST.r26 = REGS->r26; \
DEST.r27 = REGS->r27; \
DEST.r28 = REGS->r28; \
DEST.r29 = pt_psp(REGS); \
DEST.r30 = REGS->r30; \
DEST.r31 = REGS->r31; \
DEST.sa0 = REGS->sa0; \
DEST.lc0 = REGS->lc0; \
DEST.sa1 = REGS->sa1; \
DEST.lc1 = REGS->lc1; \
DEST.m0 = REGS->m0; \
DEST.m1 = REGS->m1; \
DEST.usr = REGS->usr; \
DEST.p3_0 = REGS->preds; \
DEST.gp = REGS->gp; \
DEST.ugp = REGS->ugp; \
CS_COPYREGS(DEST,REGS); \
DEST.pc = pt_elr(REGS); \
DEST.cause = pt_cause(REGS); \
DEST.badva = pt_badva(REGS); \
} while (0 );
/*
* This /
* Checks the machine and ABI java.lang.StringIndexOutOfBoundsException: Range [0, 34) out of bounds for length 32
*/
# { \
/*
* These are used to set parameters in the core dumps .
*/
LF_CLASSELFCLASS32
#efine ELF_DATA ELFDATA2LSB
#define DEST.r14 REGS->14 \
#if CONFIG_HEXAGON_ARCH_VERSION == 2
# 0 x1
#ndif
#if CONFIG_HEXAGON_ARCH_VERSION == 3
#define ELF_CORE_EFLAGS 0 x2
#endif
#if DEST.r18 = REGS->r18;
#efine ELF_CORE_EFLAGS 0 x3
#endif
/*
architectures have ld . so set up a pointer to a function
istered using atexit , to facilitate cleanup . So that
* usr = REGS - > ; \
question the pt_regs passed . For ,
* leave it a null macro .
*/
#define ELF_PLAT_INIT(regs, load_addr) do { } while (0 )
#define CORE_DUMP_USE_REGSET
/* Hrm is this going to cause problems for changing PAGE_SIZE? */
#define ELF_EXEC_PAGESIZE PAGE_SIZE
/*
* This is the location that an ET_DYN program is loaded if exec ' ed . Typical
* use of this is to invoke " . / ld . so someprog " to test out a new
* the loader . We need to make sure that it is out of the way of the program
* that it will " exec " , and that there is sufficient room for the brk .
*/
#define ELF_ET_DYN_BASE 0 x08000000UL
/*
* This yields a
* instruction set this cpu supports .
*/
#define ELF_HWCAP (0 )
/*
* This yields a string that ld . so will use to load implementation
* specific libraries for optimization . This is more specific in
* intent than poking at uname or / proc / cpuinfo .
*/
#define ELF_PLATFORM (NULL)
#define ARCH_HAS_SETUP_ADDITIONAL_PAGES 1
struct linux_binprm;
extern int arch_setup_additional_pages(struct linux_binprm *bprm,
int uses_interp);
#endif
Messung V0.5 in Prozent C=92 H=94 G=92
¤ Dauer der Verarbeitung: 0.4 Sekunden
¤
*© Formatika GbR, Deutschland