diff options
author | Tony Puccinelli | 2010-06-25 05:12:45 +0000 |
---|---|---|
committer | Tony Puccinelli | 2010-06-25 05:12:45 +0000 |
commit | 741940fd385db42fd6047ee12f17ee152fd6b748 (patch) | |
tree | bd3750ca6f91033b64965ac57fa1800187b4d479 /backends/platform/gp2xwiz/elf32.h | |
parent | cb8ef9b56cf26234c085e799e568683e2fb73f42 (diff) | |
download | scummvm-rg350-741940fd385db42fd6047ee12f17ee152fd6b748.tar.gz scummvm-rg350-741940fd385db42fd6047ee12f17ee152fd6b748.tar.bz2 scummvm-rg350-741940fd385db42fd6047ee12f17ee152fd6b748.zip |
added ARM-specific defines to elf32.h and indented gp2xwiz-loader.h correctly
svn-id: r50259
Diffstat (limited to 'backends/platform/gp2xwiz/elf32.h')
-rw-r--r-- | backends/platform/gp2xwiz/elf32.h | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/backends/platform/gp2xwiz/elf32.h b/backends/platform/gp2xwiz/elf32.h index 4a428fab19..68d0be37bf 100644 --- a/backends/platform/gp2xwiz/elf32.h +++ b/backends/platform/gp2xwiz/elf32.h @@ -89,9 +89,10 @@ typedef struct { #define PT_NOTE 4 /* note segment */ #define PT_SHLIB 5 /* reserved */ #define PT_PHDR 6 /* Program header table */ -/* #define PT_REGINFO 0x70000000 register usage info */ +#define PT_ARM_ARCHEXT 0x70000000 /* Platform architecture compatibility information */ +#define PT_ARM_EXIDX 0x70000001 /* Exception unwind tables */ -// p_flags value (don't think these are specific to architecture, but not certain) +// p_flags value #define PF_X 1 /* execute */ #define PF_W 2 /* write */ #define PF_R 4 /* read */ @@ -123,12 +124,14 @@ typedef struct { #define SHT_REL 9 /* Relocation entries without addend */ #define SHT_SHLIB 10 /* Reserved */ #define SHT_DYNSYM 11 /* Minimal set of dynamic linking symbols */ +#define SHT_ARM_EXIDX 0x70000001 /* Exception Index table */ +#define SHT_ARM_PREEMPTMAP 0x70000002 /* BPABI DLL dynamic linking pre-emption map */ +#define SHT_ARM_ATTRIBUTES 0x70000003 /* Object file compatibility attributes */ // sh_flags values #define SHF_WRITE 0 /* writable section */ #define SHF_ALLOC 2 /* section occupies memory */ #define SHF_EXECINSTR 4 /* machine instructions */ -#define SHF_MIPS_GPREL 0x10000000 /* Must be made part of global data area */ // Symbol entry (contain info about a symbol) typedef struct { @@ -168,7 +171,12 @@ typedef struct { typedef struct { Elf32_Addr r_offset; /* Address */ Elf32_Word r_info; /* Relocation type and symbol index */ -} Elf32_Rel; + Elf32_Sword r_addend; /* Addend */ +} Elf32_Rela; + +// Access macros for the relocation info +#define REL_TYPE(x) ((unsigned char) (x)) /* Extract relocation type */ +#define REL_INDEX(x) ((x)>>8) /* Extract relocation index into symbol table */ // ARM relocation types #define R_ARM_NONE 0 @@ -185,9 +193,6 @@ typedef struct { #define R_ARM_THM_PC8 11 #define R_ARM_BREL_ADJ 12 #define R_ARM_TLS_DESC 13 -#define R_ARM_THM_SWI8 14 -#define R_ARM_XPC25 15 -#define R_ARM_THM_XPC22 16 #define R_ARM_TLS_DTPMOD32 17 #define R_ARM_TLS_DTPOFF32 18 #define R_ARM_TLS_TPOFF32 19 @@ -271,8 +276,6 @@ typedef struct { #define R_ARM_GOT_BREL12 97 #define R_ARM_GOTOFF12 98 #define R_ARM_GOTRELAX 99 -#define R_ARM_GNU_VTENTRY 100 -#define R_ARM_GNU_VTINHERIT 101 #define R_ARM_THM_JUMP11 102 #define R_ARM_THM_JUMP8 103 #define R_ARM_TLS_GD32 104 @@ -299,7 +302,6 @@ typedef struct { #define R_ARM_PRIVATE_13 125 #define R_ARM_PRIVATE_14 126 #define R_ARM_PRIVATE_15 127 -#define R_ARM_ME_TOO 128 #define R_ARM_THM_TLS_DESCSEQ16 129 #define R_ARM_THM_TLS_DESCSEQ32 130 |