/* SPDX-License-Identifier: GPL-2.0 */ /* IBM RS/6000 "XCOFF" file definitions for BFD. Copyright (C) 1990, 1991 Free Software Foundation, Inc. Written by Mimi Phuong-Thao Vo of IBM
and John Gilmore of Cygnus Support. */
typedefstruct
{ unsignedchar magic[2]; /* type of file */ unsignedchar vstamp[2]; /* version stamp */ unsignedchar tsize[4]; /* text size in bytes, padded to FW bdry */ unsignedchar dsize[4]; /* initialized data " " */ unsignedchar bsize[4]; /* uninitialized data " " */ unsignedchar entry[4]; /* entry pt. */ unsignedchar text_start[4]; /* base of text used for this file */ unsignedchar data_start[4]; /* base of data used for this file */ unsignedchar o_toc[4]; /* address of TOC */ unsignedchar o_snentry[2]; /* section number of entry point */ unsignedchar o_sntext[2]; /* section number of .text section */ unsignedchar o_sndata[2]; /* section number of .data section */ unsignedchar o_sntoc[2]; /* section number of TOC */ unsignedchar o_snloader[2]; /* section number of .loader section */ unsignedchar o_snbss[2]; /* section number of .bss section */ unsignedchar o_algntext[2]; /* .text alignment */ unsignedchar o_algndata[2]; /* .data alignment */ unsignedchar o_modtype[2]; /* module type (??) */ unsignedchar o_cputype[2]; /* cpu type */ unsignedchar o_maxstack[4]; /* max stack size (??) */ unsignedchar o_maxdata[4]; /* max data size (??) */ unsignedchar o_resv2[12]; /* reserved */
}
AOUTHDR;
#define RS6K_AOUTHDR_OMAGIC 0x0107 /* old: text & data writeable */ #define RS6K_AOUTHDR_NMAGIC 0x0108 /* new: text r/o, data r/w */ #define RS6K_AOUTHDR_ZMAGIC 0x010B /* paged: text r/o, both page-aligned */
/* XCOFF uses a special .loader section with type STYP_LOADER. */ #define STYP_LOADER 0x1000
/* XCOFF uses a special .debug section with type STYP_DEBUG. */ #define STYP_DEBUG 0x2000
/* XCOFF handles line number or relocation overflow by creating
another section header with STYP_OVRFLO set. */ #define STYP_OVRFLO 0x8000
/********************** LINE NUMBERS **********************/
/* 1 line number entry for every "breakpointable" source line in a section. * Line numbers are grouped on a per function basis; first entry in a function * grouping will have l_lnno = 0 and in place of physical address will be the * symbol table index of the function name.
*/ struct external_lineno { union { char l_symndx[4]; /* function name symbol index, iff l_lnno == 0*/ char l_paddr[4]; /* (physical) address of line number */
} l_addr; char l_lnno[2]; /* line number */
};
#define E_SYMNMLEN 8 /* # characters in a symbol name */ #define E_FILNMLEN 14 /* # characters in a file name */ #define E_DIMNUM 4 /* # array dimensions in auxiliary entry */
union external_auxent { struct { char x_tagndx[4]; /* str, un, or enum tag indx */ union { struct { char x_lnno[2]; /* declaration line number */ char x_size[2]; /* str/union/array size */
} x_lnsz; char x_fsize[4]; /* size of function */
} x_misc; union { struct { /* if ISFCN, tag, or .bb */ char x_lnnoptr[4]; /* ptr to fcn line # */ char x_endndx[4]; /* entry ndx past block end */
} x_fcn; struct { /* if ISARY, up to 4 dimen. */ char x_dimen[E_DIMNUM][2];
} x_ary;
} x_fcnary; char x_tvndx[2]; /* tv index */
} x_sym;
struct { char x_tvfill[4]; /* tv fill value */ char x_tvlen[2]; /* length of .tv */ char x_tvran[2][2]; /* tv range */
} x_tv; /* info about .tv section (in auxent of symbol .tv)) */
#define DEFAULT_DATA_SECTION_ALIGNMENT 4 #define DEFAULT_BSS_SECTION_ALIGNMENT 4 #define DEFAULT_TEXT_SECTION_ALIGNMENT 4 /* For new sections we haven't heard of before */ #define DEFAULT_SECTION_ALIGNMENT 4
Messung V0.5
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.