1 /* COFF spec for MAXQ 2 3 Copyright 2004, 2005 Free Software Foundation, Inc. 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 16 with this program; if not, write to the Free Software Foundation, Inc., 17 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. 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 28 stripped from file F_LSYMS local symbols stripped from file. */ 29 30 #define F_RELFLG (0x0001) 31 #define F_EXEC (0x0002) 32 #define F_LNNO (0x0004) 33 #define F_LSYMS (0x0008) 34 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 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) */ 57