Commit | Line | Data |
---|---|---|
7499d566 NC |
1 | /* COFF spec for MAXQ |
2 | ||
5c4504f7 | 3 | Copyright 2004, 2005 Free Software Foundation, Inc. |
7499d566 NC |
4 | |
5 | This program is free software; you can redistribute it and/or modify it | |
6 | under the terms of the GNU General Public License as published by the Free | |
7 | Software Foundation; either version 2 of the License, or (at your option) | |
8 | any later version. | |
9 | ||
10 | This program is distributed in the hope that it will be useful, but | |
11 | WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY | |
12 | or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
13 | for more details. | |
14 | ||
15 | You should have received a copy of the GNU General Public License along | |
e172dbf8 NC |
16 | with this program; if not, write to the Free Software Foundation, Inc., |
17 | 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. | |
7499d566 NC |
18 | |
19 | Contributed by Vineet Sharma(vineets@noida.hcltech.com) Inderpreet | |
20 | S.(inderpreetb@noida.hcltech.com) HCL Technologies Ltd. */ | |
21 | ||
22 | #define L_LNNO_SIZE 2 | |
23 | ||
24 | #include "coff/external.h" | |
25 | ||
26 | /* Bits for f_flags: F_RELFLG relocation info stripped from file F_EXEC file | |
27 | is executable (no unresolved external references) F_LNNO line numbers | |
5c4504f7 | 28 | stripped from file F_LSYMS local symbols stripped from file. */ |
7499d566 NC |
29 | |
30 | #define F_RELFLG (0x0001) | |
31 | #define F_EXEC (0x0002) | |
32 | #define F_LNNO (0x0004) | |
33 | #define F_LSYMS (0x0008) | |
34 | ||
5c4504f7 NC |
35 | /* Variant Specific Flags for MAXQ10 and MAXQ20. */ |
36 | #define F_MAXQ10 (0x0030) | |
37 | #define F_MAXQ20 (0x0040) | |
38 | ||
39 | #define F_MACHMASK (0x00F0) | |
40 | ||
7499d566 NC |
41 | /* Magic numbers for maxq. */ |
42 | #define MAXQ20MAGIC 0xa0 | |
43 | #define MAXQ20BADMAG(x) (((x).f_magic != MAXQ20MAGIC)) | |
44 | #define BADMAG(x) MAXQ20BADMAG (x) | |
45 | ||
46 | /* Relocation information declaration and related definitions. */ | |
47 | struct external_reloc | |
48 | { | |
49 | char r_vaddr[4]; /* (Virtual) address of reference. */ | |
50 | char r_symndx[4]; /* Index into symbol table. */ | |
51 | char r_type[2]; /* Relocation type. */ | |
52 | char r_offset[2]; /* Addend. */ | |
53 | }; | |
54 | ||
55 | #define RELOC struct external_reloc | |
56 | #define RELSZ (10 + 2) /* sizeof (RELOC) */ |