Back to index

cell-binutils  2.17cvs20070401
x86_64.h
Go to the documentation of this file.
00001 /* COFF information for AMD 64.
00002    Copyright 2006 Free Software Foundation, Inc.
00003 
00004    This file is part of BFD, the Binary File Descriptor library.
00005 
00006    This program is free software; you can redistribute it and/or modify
00007    it under the terms of the GNU General Public License as published by
00008    the Free Software Foundation; either version 2 of the License, or
00009    (at your option) any later version.
00010 
00011    This program is distributed in the hope that it will be useful,
00012    but WITHOUT ANY WARRANTY; without even the implied warranty of
00013    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014    GNU General Public License for more details.
00015 
00016    You should have received a copy of the GNU General Public License
00017    along with this program; if not, write to the Free Software
00018    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
00019    
00020    Written by Kai Tietz, OneVision Software GmbH&CoKg.  */
00021 
00022 #define L_LNNO_SIZE 2
00023 #define INCLUDE_COMDAT_FIELDS_IN_AUXENT
00024 
00025 #include "coff/external.h"
00026 
00027 #define AMD64MAGIC   0x8664
00028 
00029 #define AMD64BADMAG(x)      ((x).f_magic != AMD64MAGIC)
00030 #define IMAGE_NT_OPTIONAL_HDR64_MAGIC      0x20b
00031 
00032 #define OMAGIC          0404    /* Object files, eg as output.  */
00033 #define ZMAGIC          IMAGE_NT_OPTIONAL_HDR64_MAGIC    /* Demand load format, eg normal ld output 0x10b.  */
00034 #define STMAGIC             0401   /* Target shlib.  */
00035 #define SHMAGIC             0443   /* Host   shlib.  */
00036 
00037 /* Define some NT default values.  */
00038 /*  #define NT_IMAGE_BASE        0x400000 moved to internal.h.  */
00039 #define NT_SECTION_ALIGNMENT 0x1000
00040 #define NT_FILE_ALIGNMENT    0x200
00041 #define NT_DEF_RESERVE       0x100000
00042 #define NT_DEF_COMMIT        0x1000
00043 
00044 /* Relocation directives.  */
00045 
00046 struct external_reloc
00047 {
00048   char r_vaddr[4];
00049   char r_symndx[4];
00050   char r_type[2];
00051 };
00052 
00053 #define RELOC struct external_reloc
00054 #define RELSZ 10