Back to index

cell-binutils  2.17cvs20070401
maxq.h
Go to the documentation of this file.
00001 /* COFF spec for MAXQ
00002 
00003    Copyright 2004, 2005 Free Software Foundation, Inc.
00004 
00005    This program is free software; you can redistribute it and/or modify it
00006    under the terms of the GNU General Public License as published by the Free 
00007    Software Foundation; either version 2 of the License, or (at your option)
00008    any later version.
00009 
00010    This program is distributed in the hope that it will be useful, but
00011    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
00012    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
00013    for more details.
00014 
00015    You should have received a copy of the GNU General Public License along
00016    with this program; if not, write to the Free Software Foundation, Inc.,
00017    51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
00018 
00019    Contributed by Vineet Sharma(vineets@noida.hcltech.com) Inderpreet
00020    S.(inderpreetb@noida.hcltech.com) HCL Technologies Ltd.  */
00021 
00022 #define L_LNNO_SIZE 2
00023 
00024 #include "coff/external.h"
00025 
00026 /* Bits for f_flags: F_RELFLG relocation info stripped from file F_EXEC file
00027    is executable (no unresolved external references) F_LNNO line numbers
00028    stripped from file F_LSYMS local symbols stripped from file.  */
00029 
00030 #define F_RELFLG        (0x0001)
00031 #define F_EXEC          (0x0002)
00032 #define F_LNNO          (0x0004)
00033 #define F_LSYMS         (0x0008)
00034 
00035 /* Variant Specific Flags for MAXQ10 and MAXQ20.  */
00036 #define F_MAXQ10     (0x0030)
00037 #define F_MAXQ20     (0x0040)
00038 
00039 #define F_MACHMASK   (0x00F0)
00040 
00041 /* Magic numbers for maxq.  */
00042 #define MAXQ20MAGIC      0xa0
00043 #define MAXQ20BADMAG(x) (((x).f_magic != MAXQ20MAGIC))
00044 #define BADMAG(x)        MAXQ20BADMAG (x)
00045 
00046 /* Relocation information declaration and related definitions.  */
00047 struct external_reloc
00048 {
00049   char r_vaddr[4];          /* (Virtual) address of reference.  */
00050   char r_symndx[4];         /* Index into symbol table.  */
00051   char r_type[2];           /* Relocation type.  */
00052   char r_offset[2];         /* Addend.  */
00053 };
00054 
00055 #define       RELOC         struct external_reloc
00056 #define       RELSZ         (10 + 2)      /* sizeof (RELOC) */