| /* coff information for HP/Intel IA-64. | 
 |     | 
 |    Copyright (C) 2000-2024 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 | 
 |  |