|  | /* coff information for HP/Intel IA-64. | 
|  |  | 
|  | Copyright (C) 2000-2018 Free Software Foundation, Inc. | 
|  |  | 
|  | This program is free software; you can redistribute it and/or modify | 
|  | it under the terms of the GNU General Public License as published by | 
|  | the Free Software Foundation; either version 3 of the License, or | 
|  | (at your option) any later version. | 
|  |  | 
|  | This program is distributed in the hope that it will be useful, | 
|  | but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|  | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
|  | GNU General Public License for more details. | 
|  |  | 
|  | You should have received a copy of the GNU General Public License | 
|  | along with this program; if not, write to the Free Software | 
|  | Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, | 
|  | MA 02110-1301, USA.  */ | 
|  |  | 
|  | #define DO_NOT_DEFINE_AOUTHDR | 
|  | #define L_LNNO_SIZE 2 | 
|  | #define INCLUDE_COMDAT_FIELDS_IN_AUXENT | 
|  | #include "coff/external.h" | 
|  |  | 
|  | #define IA64MAGIC	0x200 | 
|  |  | 
|  | #define IA64BADMAG(x)	(((x).f_magic != IA64MAGIC)) | 
|  |  | 
|  | /* Bits for f_flags: | 
|  | *	F_RELFLG	relocation info stripped from file | 
|  | *	F_EXEC		file is executable (no unresolved external references) | 
|  | *	F_LNNO		line numbers stripped from file | 
|  | *	F_LSYMS		local symbols stripped from file | 
|  | *	F_AR32WR	file has byte ordering of an AR32WR machine (e.g. vax) | 
|  | */ | 
|  |  | 
|  | #define F_RELFLG	(0x0001) | 
|  | #define F_EXEC		(0x0002) | 
|  | #define F_LNNO		(0x0004) | 
|  | #define F_LSYMS		(0x0008) | 
|  |  | 
|  | /********************** AOUT "OPTIONAL HEADER" **********************/ | 
|  | typedef struct | 
|  | { | 
|  | char 	magic[2];		/* type of file				*/ | 
|  | char	vstamp[2];		/* version stamp			*/ | 
|  | char	tsize[4];		/* text size in bytes, padded to FW bdry*/ | 
|  | char	dsize[4];		/* initialized data "  "		*/ | 
|  | char	bsize[4];		/* uninitialized data "   "		*/ | 
|  | char	entry[4];		/* entry pt.				*/ | 
|  | char 	text_start[4];		/* base of text used for this file	*/ | 
|  | #ifndef BFD64 | 
|  | char 	data_start[4];		/* base of data used for this file	*/ | 
|  | #endif | 
|  | } | 
|  | AOUTHDR; | 
|  |  | 
|  | #define PE32MAGIC	0x10b	/* 32-bit image */ | 
|  | #define PE32PMAGIC	0x20b	/* 32-bit image inside 64-bit address space */ | 
|  |  | 
|  | #define PE32PBADMAG(x) (((x).f_magic != PE32PMAGIC)) | 
|  |  | 
|  | #define AOUTSZ		108 | 
|  | #define AOUTHDRSZ	108 | 
|  |  | 
|  | #define OMAGIC          0404    /* object files, eg as output */ | 
|  | #define ZMAGIC          0413    /* demand load format, eg normal ld output */ | 
|  | #define STMAGIC		0401	/* target shlib */ | 
|  | #define SHMAGIC		0443	/* host   shlib */ | 
|  |  | 
|  | /* define some NT default values */ | 
|  | /*  #define NT_IMAGE_BASE        0x400000 moved to internal.h */ | 
|  | #define NT_SECTION_ALIGNMENT 0x1000 | 
|  | #define NT_FILE_ALIGNMENT    0x200 | 
|  | #define NT_DEF_RESERVE       0x100000 | 
|  | #define NT_DEF_COMMIT        0x1000 | 
|  |  | 
|  | /********************** RELOCATION DIRECTIVES **********************/ | 
|  |  | 
|  | struct external_reloc | 
|  | { | 
|  | char r_vaddr[4]; | 
|  | char r_symndx[4]; | 
|  | char r_type[2]; | 
|  | }; | 
|  |  | 
|  | #define RELOC struct external_reloc | 
|  | #define RELSZ 10 | 
|  |  |