00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #define COFFARM 1
00025
00026 #define L_LNNO_SIZE 2
00027 #define INCLUDE_COMDAT_FIELDS_IN_AUXENT
00028 #include "coff/external.h"
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044 #define F_RELFLG (0x0001)
00045 #define F_EXEC (0x0002)
00046 #define F_LNNO (0x0004)
00047 #define F_LSYMS (0x0008)
00048 #define F_INTERWORK (0x0010)
00049 #define F_INTERWORK_SET (0x0020)
00050 #define F_APCS_FLOAT (0x0040)
00051 #undef F_AR16WR
00052 #define F_PIC (0x0080)
00053 #define F_AR32WR (0x0100)
00054 #define F_APCS_26 (0x0400)
00055 #define F_APCS_SET (0x0800)
00056 #define F_SOFT_FLOAT (0x2000)
00057 #define F_VFP_FLOAT (0x4000)
00058
00059
00060
00061 #define F_INTERWORK (0x0010)
00062 #define F_APCS_FLOAT (0x0040)
00063 #define F_PIC (0x0080)
00064 #define F_APCS26 (0x1000)
00065 #define F_ARM_ARCHITECTURE_MASK (0x4000+0x0800+0x0400)
00066 #define F_ARM_2 (0x0400)
00067 #define F_ARM_2a (0x0800)
00068 #define F_ARM_3 (0x0c00)
00069 #define F_ARM_3M (0x4000)
00070 #define F_ARM_4 (0x4400)
00071 #define F_ARM_4T (0x4800)
00072 #define F_ARM_5 (0x4c00)
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082 #define ARMMAGIC 0xa00
00083
00084 #define ARMBADMAG(x) (((x).f_magic != ARMMAGIC))
00085
00086 #define ARMPEMAGIC 0x1c0
00087 #define THUMBPEMAGIC 0x1c2
00088
00089 #undef ARMBADMAG
00090 #define ARMBADMAG(x) (((x).f_magic != ARMMAGIC) && ((x).f_magic != ARMPEMAGIC) && ((x).f_magic != THUMBPEMAGIC))
00091
00092 #define OMAGIC 0404
00093 #define ZMAGIC 0413
00094 #define STMAGIC 0401
00095 #define SHMAGIC 0443
00096
00097
00098
00099 #define NT_SECTION_ALIGNMENT 0x1000
00100 #define NT_FILE_ALIGNMENT 0x200
00101 #define NT_DEF_RESERVE 0x100000
00102 #define NT_DEF_COMMIT 0x1000
00103
00104
00105 #define _LIT ".rdata"
00106
00107
00108 #ifdef ARM_WINCE
00109 struct external_reloc
00110 {
00111 char r_vaddr[4];
00112 char r_symndx[4];
00113 char r_type[2];
00114 };
00115
00116 #define RELOC struct external_reloc
00117 #define RELSZ 10
00118
00119 #else
00120 struct external_reloc
00121 {
00122 char r_vaddr[4];
00123 char r_symndx[4];
00124 char r_type[2];
00125 char r_offset[4];
00126 };
00127
00128 #define RELOC struct external_reloc
00129 #define RELSZ 14
00130 #endif
00131
00132 #define ARM_NOTE_SECTION ".note"