123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- /* coff information for Intel 386/486.
-
- Copyright (C) 2001-2015 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 L_LNNO_SIZE 2
- #define INCLUDE_COMDAT_FIELDS_IN_AUXENT
- #include "coff/external.h"
- #define COFF_PAGE_SIZE 0x1000
- /* 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)
- #define I386MAGIC 0x14c
- #define I386PTXMAGIC 0x154
- #define I386AIXMAGIC 0x175
- /* This is Lynx's all-platform magic number for executables. */
- #define LYNXCOFFMAGIC 0415
- #define I386BADMAG(x) ( ((x).f_magic != I386MAGIC) \
- && (x).f_magic != I386AIXMAGIC \
- && (x).f_magic != I386PTXMAGIC \
- && (x).f_magic != LYNXCOFFMAGIC)
- #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
|