Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 5190 → Rev 5191

/contrib/toolchain/binutils/include/vms/ChangeLog
0,0 → 1,87
2012-03-08 Tristan Gingold <gingold@adacore.com>
 
* lbr.h (struct vms_lhd): Add comments.
 
2010-05-27 Tristan Gingold <gingold@adacore.com>
 
* lbr.h: Improve comments.
 
2010-05-17 Tristan Gingold <gingold@adacore.com>
 
* eidc.h: New file.
* esgps.h: New file.
 
2010-05-03 Tristan Gingold <gingold@adacore.com>
 
* dmt.h: Improve comments.
 
2010-04-30 Tristan Gingold <gingold@adacore.com>
 
* lbr.h (struct vms_kbn): New structure.
 
2010-04-30 Tristan Gingold <gingold@adacore.com>
 
* lbr.h (LBR__C_TYP_ISHSTB): Added.
(LHD_SANEID4): Renamed to ...
(LHD_SANEID6): ... this.
(LBR_MAJORID, LBR_ELFMAJORID): New macros.
(struct vms_rfa): New structure.
(struct vms_idxdef): Renamed to ...
(struct vms_idx): ... this.
(struct vms_idxdef2): Renamed to ...
(struct vms_elfidx): ... this.
(ELFIDX__WEAK, ELFIDX__GROUP, ELFIDX__LISTRFA, ELFIDX__SYMESC): New
macros.
(struct vms_lhs, struct vms_lns): New structures.
(struct vms_mhd): Add missing fields.
(MHD__C_MHDLEN): New macro.
 
2010-03-31 Tristan Gingold <gingold@adacore.com>
 
* dcx.h: New file.
* dsc.h: New file.
* esdfm.h: New file.
* esdfv.h: New file.
* internal.h: New file.
* lbr.h: New file.
* prt.h: New file.
* shl.h (struct vms_shl): Add comments.
* esrf.h (ESRF__B_NAMLNG): New macro.
* esdf.h (ESDF__B_NAMLNG): New macro.
* emh.h: Add macros for fields maximum value.
* eisd.h (EISD__M_PROTECT): Fix typo in comment.
Add macros for offsets, version, section type and match control.
Merge vms_eisd_ext into vms_eisd.
* eihvn.h (EIHVN__MULTI_PROCESSING_BIT, EIHVN__GALAXY_BIT): Added.
* eihs.h: Remove blank line.
* eihd.h (struct vms_eihd): Add comments, add image subtype names.
* eiha.h (struct vms_eiha): Add inishr and inishr_h fields.
* eiaf.h (struct vms_eiaf): Fix base_va size.
* egsy.h: Add comments.
* egsd.h: Remove blank line.
* egps.h: Add flag names.
* eeom.h (EEOM__M_WKTFR): Added.
* dst.h (DST__K_CXX): Added, and reident languages.
(DST__K_SRC_INCRLNUM_B): Added.
Indent and order pcline commands.
Add record begin/end, enumerations, type specification, value
specification, label, discontinue range definitions.
 
2010-02-17 Tristan Gingold <gingold@adacore.com>
 
* dmt.h, dst.h, eeom.h, egps.h, egsd.h, egst.h, egsy.h: New Files.
* eiaf.h, eicp.h, eiha.h, eihd.h, eihi.h, eihs.h, eihvn.h: Ditto.
* eisd.h, emh.h, eobjrec.h, esdf.h, esrf.h, etir.h, shl.h: Ditto.
Copyright (C) 2010-2012 Free Software Foundation, Inc.
 
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
 
Local Variables:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never
End:
/contrib/toolchain/binutils/include/vms/dcx.h
0,0 → 1,50
/* Alpha VMS external format for DeCompression.
 
Copyright 2010 Free Software Foundation, Inc.
Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
This file is part of BFD, the Binary File Descriptor library.
 
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. */
 
#ifndef _VMS_DCX_H
#define _VMS_DCX_H
 
struct vms_dcxmap
{
unsigned char size[4];
unsigned char version[2];
 
unsigned char pad[2];
unsigned char sanity[4];
unsigned char flags[4];
unsigned char nsubs[2];
unsigned char sub0[2];
};
 
struct vms_dcxsbm
{
unsigned char size[2];
unsigned char min_char;
unsigned char max_char;
unsigned char escape;
unsigned char flags_bits;
unsigned char flags[2];
unsigned char nodes[2];
unsigned char next[2];
};
 
#endif /* _VMS_DCX_H */
/contrib/toolchain/binutils/include/vms/dmt.h
0,0 → 1,48
/* Alpha VMS external format of Debug Module Table.
 
Copyright 2010 Free Software Foundation, Inc.
Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
This file is part of BFD, the Binary File Descriptor library.
 
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. */
 
#ifndef _VMS_DMT_H
#define _VMS_DMT_H
 
struct vms_dmt_header
{
/* Offset in the DST of the module. */
unsigned char modbeg[4];
 
/* Size of the DST chunk for this module. */
unsigned char size[4];
 
/* Number of psect for this module. */
unsigned char psect_count[2];
 
unsigned char mbz[2];
};
 
struct vms_dmt_psect
{
/* Address of the psect. */
unsigned char start[4];
 
/* Length of the psect. */
unsigned char length[4];
};
#endif /* _VMS_DMT_H */
/contrib/toolchain/binutils/include/vms/dsc.h
0,0 → 1,129
/* Alpha VMS external format of Descriptors.
 
Copyright 2010 Free Software Foundation, Inc.
Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
This file is part of BFD, the Binary File Descriptor library.
 
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. */
 
#ifndef _VMS_DSC_H
#define _VMS_DSC_H
 
/* Descriptors. */
#define DSC__K_DTYPE_Z 0 /* Unspecified. */
#define DSC__K_DTYPE_V 1 /* Bit. */
#define DSC__K_DTYPE_BU 2 /* Byte logical. */
#define DSC__K_DTYPE_WU 3 /* Word logical. */
#define DSC__K_DTYPE_LU 4 /* Longword logical. */
#define DSC__K_DTYPE_QU 5 /* Quadword logical. */
#define DSC__K_DTYPE_B 6 /* Byte integer. */
#define DSC__K_DTYPE_W 7 /* Word integer. */
#define DSC__K_DTYPE_L 8 /* Longword integer. */
#define DSC__K_DTYPE_Q 9 /* Quadword integer. */
#define DSC__K_DTYPE_F 10 /* Single-precision floating. */
#define DSC__K_DTYPE_D 11 /* Double-precision floating. */
#define DSC__K_DTYPE_FC 12 /* Complex. */
#define DSC__K_DTYPE_DC 13 /* Double-precision Complex. */
#define DSC__K_DTYPE_T 14 /* ASCII text string. */
#define DSC__K_DTYPE_NU 15 /* Numeric string, unsigned. */
#define DSC__K_DTYPE_NL 16 /* Numeric string, left separate sign. */
#define DSC__K_DTYPE_NLO 17 /* Numeric string, left overpunched sign. */
#define DSC__K_DTYPE_NR 18 /* Numeric string, right separate sign. */
#define DSC__K_DTYPE_NRO 19 /* Numeric string, right overpunched sign. */
#define DSC__K_DTYPE_NZ 20 /* Numeric string, zoned sign. */
#define DSC__K_DTYPE_P 21 /* Packed decimal string. */
#define DSC__K_DTYPE_ZI 22 /* Sequence of instructions. */
#define DSC__K_DTYPE_ZEM 23 /* Procedure entry mask. */
#define DSC__K_DTYPE_DSC 24 /* Descriptor, used for arrays of dyn strings. */
#define DSC__K_DTYPE_OU 25 /* Octaword logical. */
#define DSC__K_DTYPE_O 26 /* Octaword integer. */
#define DSC__K_DTYPE_G 27 /* Double precision G floating, 64 bit. */
#define DSC__K_DTYPE_H 28 /* Quadruple precision floating, 128 bit. */
#define DSC__K_DTYPE_GC 29 /* Double precision complex, G floating. */
#define DSC__K_DTYPE_HC 30 /* Quadruple precision complex, H floating. */
#define DSC__K_DTYPE_CIT 31 /* COBOL intermediate temporary. */
#define DSC__K_DTYPE_BPV 32 /* Bound Procedure Value. */
#define DSC__K_DTYPE_BLV 33 /* Bound Label Value. */
#define DSC__K_DTYPE_VU 34 /* Bit Unaligned. */
#define DSC__K_DTYPE_ADT 35 /* Absolute Date-Time. */
#define DSC__K_DTYPE_VT 37 /* Varying Text. */
#define DSC__K_DTYPE_T2 38 /* 16-bit char. */
#define DSC__K_DTYPE_VT2 39 /* 16-bit varying char. */
 
#define DSC__K_CLASS_S 1 /* Fixed-length scalar/string. */
#define DSC__K_CLASS_D 2 /* Dynamic string. */
#define DSC__K_CLASS_V 3 /* Reserved. */
#define DSC__K_CLASS_A 4 /* Contiguous array. */
#define DSC__K_CLASS_P 5 /* Procedure argument descriptor. */
#define DSC__K_CLASS_PI 6 /* Procedure incarnation descriptor. */
#define DSC__K_CLASS_J 7 /* Reserved. */
#define DSC__K_CLASS_JI 8 /* Obsolete. */
#define DSC__K_CLASS_SD 9 /* Decimal (scalar) string. */
#define DSC__K_CLASS_NCA 10 /* Non-contiguous array. */
#define DSC__K_CLASS_VS 11 /* Varying string. */
#define DSC__K_CLASS_VSA 12 /* Varying string array. */
#define DSC__K_CLASS_UBS 13 /* Unaligned bit string. */
#define DSC__K_CLASS_UBA 14 /* Unaligned bit array. */
#define DSC__K_CLASS_SB 15 /* String with bounds. */
#define DSC__K_CLASS_UBSB 16 /* Unaligned bit string with bounds. */
 
/* Common part. */
 
struct vms_dsc
{
unsigned char length[2];
unsigned char dtype;
unsigned char bclass;
unsigned char pointer[4];
};
 
struct vms_dsc64
{
unsigned char mbo[2];
unsigned char dtype;
unsigned char bclass;
unsigned char mbmo[4];
unsigned char length[8];
unsigned char pointer[8];
};
 
struct vms_dsc_nca
{
unsigned char length[2];
unsigned char dtype;
unsigned char bclass;
unsigned char pointer[4];
 
unsigned char scale;
unsigned char digits;
unsigned char aflags;
unsigned char dimct;
 
unsigned char arsize[4];
unsigned char a0[4];
};
 
struct vms_dsc_ubs
{
unsigned char length[2];
unsigned char dtype;
unsigned char bclass;
unsigned char base[4];
unsigned char pos[4];
};
 
#endif /* _VMS_DSC_H */
/contrib/toolchain/binutils/include/vms/dst.h
0,0 → 1,274
/* Alpha VMS external format of Debug Symbol Table.
 
Copyright 2010 Free Software Foundation, Inc.
Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
This file is part of BFD, the Binary File Descriptor library.
 
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. */
 
#ifndef _VMS_DST_H
#define _VMS_DST_H
 
/* Also available in vms freeware v5.0 debug/alpha_dstrecrds.sdl. */
 
struct vms_dst_header
{
/* Length. */
unsigned char length[2];
 
/* Type. */
unsigned char type[2];
};
 
/* Beginning of module. */
#define DST__K_MODBEG 188
 
/* Some well known languages. */
#define DST__K_MACRO 0
#define DST__K_BLISS 2
#define DST__K_C 7
#define DST__K_ADA 9
#define DST__K_CXX 15
 
struct vms_dst_modbeg
{
unsigned char flags;
unsigned char unused;
unsigned char language[4];
unsigned char major[2];
unsigned char minor[2];
/* Module name ASCIC. */
/* Ident name ASCIC. */
};
 
/* Routine begin. */
#define DST__K_RTNBEG 190
 
struct vms_dst_rtnbeg
{
unsigned char flags;
 
/* Address of the code. */
unsigned char address[4];
 
/* Procedure descriptor address. */
unsigned char pd_address[4];
 
/* Name: ASCIC */
};
 
/* Line number. */
#define DST__K_LINE_NUM 185
 
struct vms_dst_pcline
{
unsigned char pcline_command;
unsigned char field[4];
};
 
#define DST__K_DELTA_PC_W 1
#define DST__K_INCR_LINUM 2
#define DST__K_INCR_LINUM_W 3
#define DST__K_SET_LINUM_INCR 4
#define DST__K_SET_LINUM_INCR_W 5
#define DST__K_RESET_LINUM_INCR 6
#define DST__K_BEG_STMT_MODE 7
#define DST__K_END_STMT_MODE 8
#define DST__K_SET_LINUM 9
#define DST__K_SET_PC 10
#define DST__K_SET_PC_W 11
#define DST__K_SET_PC_L 12
#define DST__K_SET_STMTNUM 13
#define DST__K_TERM 14
#define DST__K_TERM_W 15
#define DST__K_SET_ABS_PC 16
#define DST__K_DELTA_PC_L 17
#define DST__K_INCR_LINUM_L 18
#define DST__K_SET_LINUM_B 19
#define DST__K_SET_LINUM_L 20
#define DST__K_TERM_L 21
 
/* Routine end. */
#define DST__K_RTNEND 191
 
struct vms_dst_rtnend
{
unsigned char unused;
unsigned char size[4];
};
 
/* Prologue. */
#define DST__K_PROLOG 162
 
struct vms_dst_prolog
{
unsigned char bkpt_addr[4];
};
 
/* Epilog. */
#define DST__K_EPILOG 127
 
struct vms_dst_epilog
{
unsigned char flags;
unsigned char count[4];
};
 
/* Module end. */
#define DST__K_MODEND 189
 
/* Block begin. */
#define DST__K_BLKBEG 176
 
struct vms_dst_blkbeg
{
unsigned char unused;
unsigned char address[4];
/* Name ASCIC. */
};
 
/* Block end. */
#define DST__K_BLKEND 177
 
struct vms_dst_blkend
{
unsigned char unused;
unsigned char size[4];
};
 
/* Source correlation. */
#define DST__K_SOURCE 155
 
#define DST__K_SRC_DECLFILE 1
#define DST__K_SRC_SETFILE 2
#define DST__K_SRC_SETREC_L 3
#define DST__K_SRC_SETREC_W 4
#define DST__K_SRC_SETLNUM_L 5
#define DST__K_SRC_SETLNUM_W 6
#define DST__K_SRC_INCRLNUM_B 7
#define DST__K_SRC_DEFLINES_W 10
#define DST__K_SRC_DEFLINES_B 11
#define DST__K_SRC_FORMFEED 16
 
struct vms_dst_src_decl_src
{
unsigned char length;
unsigned char flags;
unsigned char fileid[2];
unsigned char rms_cdt[8];
unsigned char rms_ebk[4];
unsigned char rms_ffb[2];
unsigned char rms_rfo;
/* Filename ASCIC. */
};
 
/* Record begin. */
#define DST__K_RECBEG 171
 
struct vms_dst_recbeg
{
unsigned char vflags;
unsigned char value[4];
/* Filename ASCIC. */
};
 
/* Record end. */
#define DST__K_RECEND 172
 
/* Enumeration begin. */
#define DST__K_ENUMBEG 165
 
/* Enumeration element. */
#define DST__K_ENUMELT 164
 
/* Enumeration end. */
#define DST__K_ENUMEND 166
 
/* Separate type specification. */
#define DST__K_SEPTYP 163
 
/* Type specification. */
#define DST__K_TYPSPEC 175
 
#define DST__K_TS_ATOM 1 /* Atomic. */
#define DST__K_TS_DSC 2 /* VMS Standard descriptor. */
#define DST__K_TS_IND 3 /* Indirect. */
#define DST__K_TS_TPTR 4 /* Typed pointer. */
#define DST__K_TS_PTR 5 /* Pointer. */
#define DST__K_TS_PIC 6 /* Pictured. */
#define DST__K_TS_ARRAY 7
#define DST__K_TS_SET 8
#define DST__K_TS_SUBRANGE 9 /* Subrange. */
#define DST__K_TS_ADA_DSC 10 /* Ada descriptor. */
#define DST__K_TS_FILE 11
#define DST__K_TS_AREA 12 /* Area (PL/I). */
#define DST__K_TS_OFFSET 13 /* Offset (PL/I). */
#define DST__K_TS_NOV_LENG 14 /* Novel Length. */
#define DST__K_TS_IND_TSPEC 15 /* Internal to debugger. */
#define DST__K_TS_SELF_REL_LABEL 16 /* Self-relative label (PL/I). */
#define DST__K_TS_RFA 17 /* (Basic). */
#define DST__K_TS_TASK 18 /* (Ada). */
#define DST__K_TS_ADA_ARRAY 19
#define DST__K_TS_XMOD_IND 20 /* Cross-module indirect type spec. */
#define DST__K_TS_CONSTRAINED 21 /* (Ada). */
#define DST__K_TS_MAYBE_CONSTR 22 /* Might-be-constrained (Ada). */
#define DST__K_TS_DYN_LOV_LENG 23
#define DST__K_TS_TPTR_D 24 /* Typed pointer to descriptor. */
#define DST__K_TS_SCAN_TREE 25
#define DST__K_TS_SCAN_TREEPTR 26
#define DST__K_TS_INCOMPLETE 27
#define DST__K_TS_BLISS_BLOCK 28
#define DST__K_TS_TPTR_64 29
#define DST__K_TS_PTR_64 30
#define DST__K_TS_REF 31 /* C++ referenced type. */
#define DST__K_TS_REF_64 32
 
/* Value Specification. */
#define DST__K_VFLAGS_NOVAL 128 /* No value. */
#define DST__K_VFLAGS_NOTACTIVE 248 /* Not active at current PC. */
#define DST__K_VFLAGS_UNALLOC 249 /* Not allocated. */
#define DST__K_VFLAGS_DSC 250 /* Descriptor format. */
#define DST__K_VFLAGS_TVS 251 /* Trailing value spec. */
#define DST__K_VS_FOLLOWS 253 /* Value specification follow. */
#define DST__K_VFLAGS_BITOFFS 255 /* Value is a bit offset. */
 
/* Vflags fields. */
#define DST__K_VALKIND_MASK 0x03
#define DST__K_INDIR 0x04
#define DST__K_DISP 0x08
#define DST__K_REGNUM_MASK 0xf0
#define DST__K_REGNUM_SHIFT 4
 
#define DST__K_VALKIND_LITERAL 0
#define DST__K_VALKIND_ADDR 1
#define DST__K_VALKIND_DESC 2
#define DST__K_VALKIND_REG 3
 
/* Label. */
#define DST__K_LABEL 187
 
struct vms_dst_label
{
unsigned char unused;
 
unsigned char value[4];
unsigned char name[1];
};
 
/* Discontiguous range. */
#define DST__K_DIS_RANGE 118
#endif /* _VMS_DST_H */
/contrib/toolchain/binutils/include/vms/eeom.h
0,0 → 1,62
/* Alpha VMS external format of Extended End Of Module.
 
Copyright 2010 Free Software Foundation, Inc.
Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
This file is part of BFD, the Binary File Descriptor library.
 
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. */
 
#ifndef _VMS_EEOM_H
#define _VMS_EEOM_H
 
/* Completion flags. */
#define EEOM__C_SUCCESS 0
#define EEOM__C_WARNING 1
#define EEOM__C_ERROR 2
#define EEOM__C_ABORT 3
 
struct vms_eeom
{
/* Record type. */
unsigned char rectyp[2];
 
/* Record size. */
unsigned char size[2];
 
/* Number of conditional linkage pairs. */
unsigned char total_lps[4];
 
/* Completion code. */
unsigned char comcod[2];
 
 
/* Transfer address flags. */
unsigned char tfrflg;
 
/* Pad for alignment. */
unsigned char temp;
 
/* Psect of transfer address. */
unsigned char psindx[4];
 
/* Transfer address. */
unsigned char tfradr[8];
};
 
#define EEOM__M_WKTFR (1 << 0) /* Transfer address is weak. */
 
#endif /* _VMS_EEOM_H */
/contrib/toolchain/binutils/include/vms/egps.h
0,0 → 1,64
/* Alpha VMS external format of Extended Program Section Definition.
 
Copyright 2010 Free Software Foundation, Inc.
Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
This file is part of BFD, the Binary File Descriptor library.
 
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. */
 
#ifndef _VMS_EGPS_H
#define _VMS_EGPS_H
 
struct vms_egps
{
/* Entry type. */
unsigned char gsdtyp[2];
 
/* Length of the entry. */
unsigned char gsdsiz[2];
 
/* Psect alignment. */
unsigned char align;
 
/* Pad for alignment. */
unsigned char temp;
 
unsigned char flags[2];
 
/* Length of this contribution. */
unsigned char alloc[4];
 
/* Name. */
unsigned char namlng;
unsigned char name[31];
};
 
#define EGPS__V_PIC (1 << 0) /* Not meaningful. */
#define EGPS__V_LIB (1 << 1) /* Defined in a shareable image. */
#define EGPS__V_OVR (1 << 2) /* Overlaid contribution. */
#define EGPS__V_REL (1 << 3) /* Relocatable. */
#define EGPS__V_GBL (1 << 4) /* Global. */
#define EGPS__V_SHR (1 << 5) /* Shareable. */
#define EGPS__V_EXE (1 << 6) /* Executable. */
#define EGPS__V_RD (1 << 7) /* Readable. */
#define EGPS__V_WRT (1 << 8) /* Writable. */
#define EGPS__V_VEC (1 << 9) /* Change mode dispatch or message vectors. */
#define EGPS__V_NOMOD (1 << 10) /* Demand-zero. */
#define EGPS__V_COM (1 << 11) /* Conditional storage. */
#define EGPS__V_ALLOC_64BIT (1 << 12) /* Allocated in 64-bit space. */
 
#endif /* _VMS_EGPS_H */
/contrib/toolchain/binutils/include/vms/egsd.h
0,0 → 1,60
/* Alpha VMS external format of Extended Global Symbol Directory.
 
Copyright 2010 Free Software Foundation, Inc.
Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
This file is part of BFD, the Binary File Descriptor library.
 
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. */
 
#ifndef _VMS_EGSD_H
#define _VMS_EGSD_H
 
#define EGSD__K_ENTRIES 2 /* Offset to first entry in record. */
#define EGSD__C_ENTRIES 2 /* Offset to first entry in record. */
#define EGSD__C_PSC 0 /* Psect definition. */
#define EGSD__C_SYM 1 /* Symbol specification. */
#define EGSD__C_IDC 2 /* Random entity check. */
#define EGSD__C_SPSC 5 /* Shareable image psect definition. */
#define EGSD__C_SYMV 6 /* Vectored (dual-valued) versions of SYM. */
#define EGSD__C_SYMM 7 /* Masked versions of SYM. */
#define EGSD__C_SYMG 8 /* EGST - gst version of SYM. */
#define EGSD__C_MAXRECTYP 8 /* Maximum entry type defined. */
 
struct vms_egsd
{
/* Record type. */
unsigned char rectyp[2];
 
/* Record size. */
unsigned char recsiz[2];
 
/* Padding for alignment. */
unsigned char alignlw[4];
 
/* Followed by egsd entries. */
};
 
struct vms_egsd_entry
{
/* Entry type. */
unsigned char gsdtyp[2];
 
/* Length of the entry. */
unsigned char gsdsiz[2];
};
 
#endif /* _VMS_EGSD_H */
/contrib/toolchain/binutils/include/vms/egst.h
0,0 → 1,39
/* Alpha VMS external format of Extended Global Symbol Definition.
 
Copyright 2010 Free Software Foundation, Inc.
Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
This file is part of BFD, the Binary File Descriptor library.
 
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. */
 
#ifndef _VMS_EGST_H
#define _VMS_EGST_H
 
struct vms_egst
{
struct vms_egsy header;
 
unsigned char value[8];
unsigned char lp_1[8];
unsigned char lp_2[8];
 
unsigned char psindx[4];
unsigned char namlng;
unsigned char name[31];
};
 
#endif /* _VMS_EGST_H */
/contrib/toolchain/binutils/include/vms/egsy.h
0,0 → 1,54
/* Alpha VMS external format of Extended Global Symbol.
 
Copyright 2010 Free Software Foundation, Inc.
Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
This file is part of BFD, the Binary File Descriptor library.
 
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. */
 
#ifndef _VMS_EGSY_H
#define _VMS_EGSY_H
 
#define EGSY__W_FLAGS 6
 
#define EGSY__V_WEAK 0x0001 /* Weak symbol definition. */
#define EGSY__V_DEF 0x0002 /* Symbol definition. */
#define EGSY__V_UNI 0x0004 /* Reserved. */
#define EGSY__V_REL 0x0008 /* Relocatable (vs absolute). */
#define EGSY__V_COMM 0x0010 /* Conditional symbol def. */
#define EGSY__V_VECEP 0x0020 /* Reserved. */
#define EGSY__V_NORM 0x0040 /* Normal procedure definition. */
#define EGSY__V_QUAD_VAL 0x0080 /* Value exceed 32 bits. */
 
struct vms_egsy
{
/* Entry type. */
unsigned char gsdtyp[2];
 
/* Length of the entry. */
unsigned char gsdsiz[2];
 
/* Data type. */
unsigned char datyp;
 
/* Pad for alignment. */
unsigned char temp;
 
unsigned char flags[2];
};
 
#endif /* _VMS_EGSY_H */
/contrib/toolchain/binutils/include/vms/eiaf.h
0,0 → 1,80
/* Alpha VMS external format of Extended Image Activator Fixup section.
 
Copyright 2010 Free Software Foundation, Inc.
Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
This file is part of BFD, the Binary File Descriptor library.
 
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. */
 
#ifndef _VMS_EIAF_H
#define _VMS_EIAF_H
 
struct vms_eiaf
{
/* Version. */
unsigned char majorid[4];
unsigned char minorid[4];
 
/* Link for image activator use. */
unsigned char iaflink[8];
 
/* Link for sharable image fixups. */
unsigned char fixuplnk[8];
 
/* Size of EIAF fixed part. */
unsigned char size[4];
 
/* Flags. */
unsigned char flags[4];
 
/* Offsets to quadword and longword relocation fixup data. */
unsigned char qrelfixoff[4];
unsigned char lrelfixoff[4];
 
/* Offsets to quardword and longword .address fixup data. */
unsigned char qdotadroff[4];
unsigned char ldotadroff[4];
 
/* Offset to code address fixup data. */
unsigned char codeadroff[4];
 
/* Offset to linkage part fixup data. */
unsigned char lpfixoff[4];
 
/* Offset to isect change protection data. */
unsigned char chgprtoff[4];
 
/* Offset to shareable image list. */
unsigned char shlstoff[4];
 
/* Number of shareable images. */
unsigned char shrimgcnt[4];
 
/* Number of extra shareable images allowed. */
unsigned char shlextra[4];
 
/* Permanent shareable image context. */
unsigned char permctx[4];
 
/* Base address of the image itself. */
unsigned char base_va[4];
 
/* Offset to linkage pair with procedure signature fixups. */
unsigned char lppsbfixoff[4];
};
 
#endif /* _VMS_EIAF_H */
/contrib/toolchain/binutils/include/vms/eicp.h
0,0 → 1,38
/* Alpha VMS external format of Extended Image section Change Protection.
 
Copyright 2010 Free Software Foundation, Inc.
Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
This file is part of BFD, the Binary File Descriptor library.
 
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. */
 
#ifndef _VMS_EICP_H
#define _VMS_EICP_H
 
struct vms_eicp
{
/* Start of section. */
unsigned char baseva[8];
 
/* Size in bytes of the image section. */
unsigned char size[4];
 
/* New protections. */
unsigned char newprt[4];
};
 
#endif /* _VMS_EICP_H */
/contrib/toolchain/binutils/include/vms/eidc.h
0,0 → 1,49
/* Alpha VMS external format of Ident Consistency check.
 
Copyright 2010 Free Software Foundation, Inc.
Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
This file is part of BFD, the Binary File Descriptor library.
 
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. */
 
#ifndef _VMS_EIDC_H
#define _VMS_EIDC_H
 
struct vms_eidc
{
/* Record type. */
unsigned char rectyp[2];
 
/* Record size. */
unsigned char recsiz[2];
 
unsigned char flags[4];
 
/* Entity name (ASCIC). */
/* Object name (ASCIC). */
/* Ident string (ASCIC or binary BINIDENT set). */
unsigned char name[1];
};
 
/* Fields of flags. */
#define EIDC__V_BINIDENT (1 << 0) /* Ident is a longword. */
#define EIDC__V_IDMATCH_SH 1 /* Ident match control. */
#define EIDC__V_IDMATCH_MASK 3
#define EIDC__V_ERRSEV_SH 3 /* Error severity. */
#define EIDC__V_ERRSEV_MASK 7
 
#endif /* _VMS_EIDC_H */
/contrib/toolchain/binutils/include/vms/eiha.h
0,0 → 1,54
/* Alpha VMS external format of Extended Image Activation.
 
Copyright 2010 Free Software Foundation, Inc.
Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
This file is part of BFD, the Binary File Descriptor library.
 
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. */
 
#ifndef _VMS_EIHA_H
#define _VMS_EIHA_H
 
struct vms_eiha
{
/* Size of the struct. */
unsigned char size[4];
 
unsigned char spare[4];
 
/* First transfer address. */
unsigned char tfradr1[4];
unsigned char tfradr1_h[4];
 
/* Second. */
unsigned char tfradr2[4];
unsigned char tfradr2_h[4];
 
/* Third. */
unsigned char tfradr3[4];
unsigned char tfradr3_h[4];
 
/* Fourth (must be 0). */
unsigned char tfradr4[4];
unsigned char tfradr4_h[4];
 
/* Shared image initialization (only if EIHD__V_INISHR is set). */
unsigned char inishr[4];
unsigned char inishr_h[4];
};
 
#endif /* _VMS_EIHA_H */
/contrib/toolchain/binutils/include/vms/eihd.h
0,0 → 1,145
/* Alpha VMS external format of Extended Image Header.
 
Copyright 2010 Free Software Foundation, Inc.
Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
This file is part of BFD, the Binary File Descriptor library.
 
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. */
 
#ifndef _VMS_EIHD_H
#define _VMS_EIHD_H
 
/* Extended Image Header (eihd) structure. */
struct vms_eihd
{
/* Version of this EIHD. */
unsigned char majorid[4];
unsigned char minorid[4];
 
/* Size in bytes of the header. */
unsigned char size[4];
 
/* Byte offset to ISD (Image Section Descriptors) list. */
unsigned char isdoff[4];
 
/* Byte offset to activation data (off=16). */
unsigned char activoff[4];
 
/* Byte offset to symbol table and debugging data. */
unsigned char symdbgoff[4];
 
/* Byte offset to image ident. */
unsigned char imgidoff[4];
 
/* Byte offset to patch data. */
unsigned char patchoff[4];
 
/* RVA of fixup info (off=32). */
unsigned char iafva[8];
 
/* RVA of symbol vector. */
unsigned char symvva[8];
 
/* Byte offset to version number array (off=48). */
unsigned char version_array_off[4];
 
/* Image type. */
unsigned char imgtype[4];
 
/* Image subtype. */
unsigned char subtype[4];
 
/* Size in bytes of image I/O section requested. */
unsigned char imgiocnt[4];
 
/* Nbr of channels requested (off=64). */
unsigned char iochancnt[4];
 
/* Requested privilege mask. */
unsigned char privreqs[8];
 
/* Number of header diskblocks. */
unsigned char hdrblkcnt[4];
 
/* Linker produced image flags. */
unsigned char lnkflags[4];
 
/* GBL SEC ident value for linkable image. */
unsigned char ident[4];
 
/* SYS$K_VERSION or 0 if not linked with exec. */
unsigned char sysver[4];
 
/* Linker match control. */
unsigned char matchctl;
unsigned char fill_1[3];
 
/* Size of the symbol vector in bytes. */
unsigned char symvect_size[4];
 
/* Value of /BPAGE. */
unsigned char virt_mem_block_size[4];
 
/* Byte offset to extended fixup data. */
unsigned char ext_fixup_off[4];
 
/* Byte offset to no_optimize psect table. */
unsigned char noopt_psect_off[4];
 
unsigned char fill_2[398];
 
/* CODE identifies image type to MOM. */
unsigned char alias[2];
};
 
#define EIHD__K_MAJORID 3 /* Major id constant */
#define EIHD__K_MINORID 0 /* Minor id constant */
 
/* Image type. */
#define EIHD__K_EXE 1 /* Executable image */
#define EIHD__K_LIM 2 /* Linkable image. */
 
/* Image subtype. */
#define EIHD__C_NATIVE 0 /* Alpha native image. */
#define EIHD__C_CLI 1 /* Image is a CLI, run LOGINOUT. */
 
/* Linker image flags. */
#define EIHD__M_LNKDEBUG 0x0001 /* Full debugging requested. */
#define EIHD__M_LNKNOTFR 0x0002 /* No first transfer address. */
#define EIHD__M_NOP0BUFS 0x0004 /* No RMS use of P0 for image I/O. */
#define EIHD__M_PICIMG 0x0008 /* PIC image. */
#define EIHD__M_P0IMAGE 0x0010 /* P0 only image. */
#define EIHD__M_DBGDMT 0x0020 /* Image header has dmt fields. */
#define EIHD__M_INISHR 0x0040 /* Transfer array contains LNISHR. */
#define EIHD__M_XLATED 0x0080 /* Translated image. */
#define EIHD__M_BIND_CODE_SEC 0x0100 /* EXE sect can be put into S0. */
#define EIHD__M_BIND_DATA_SEC 0x0200 /* DATA sect can be put into S0. */
#define EIHD__M_MKTHREADS 0x0400 /* Multiple kernel threads. */
#define EIHD__M_UPCALLS 0x0800 /* Upcalls enabled. */
#define EIHD__M_OMV_READY 0x1000 /* Can be processed by OMV. */
#define EIHD__M_EXT_BIND_SECT 0x2000 /* May be moved, using ext fixups. */
 
/* Offsets of some fields. */
#define EIHD__L_SIZE 8
#define EIHD__L_ISDOFF 12
#define EIHD__L_SYMDBGOFF 20
#define EIHD__Q_SYMVVA 40
#define EIHD__L_IMGTYPE 52
 
#define EIHD__C_LENGTH 104
 
#endif /* _VMS_EIHD_H */
/contrib/toolchain/binutils/include/vms/eihi.h
0,0 → 1,50
/* Alpha VMS external format of Extended Image Identification.
 
Copyright 2010 Free Software Foundation, Inc.
Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
This file is part of BFD, the Binary File Descriptor library.
 
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. */
 
#ifndef _VMS_EIHI_H
#define _VMS_EIHI_H
 
#define EIHI__K_MAJORID 1
#define EIHI__K_MINORID 2
 
struct vms_eihi
{
unsigned char majorid[4];
unsigned char minorid[4];
 
/* Time when this image was linked. */
unsigned char linktime[8];
 
/* Image name. */
unsigned char imgnam[40];
 
/* Image ident. */
unsigned char imgid[16];
 
/* Linker ident. */
unsigned char linkid[16];
 
/* Image build ident. */
unsigned char imgbid[16];
};
 
#endif /* _VMS_EIHI_H */
/contrib/toolchain/binutils/include/vms/eihs.h
0,0 → 1,62
/* Alpha VMS external format of Extended Image Symbols and debug table.
 
Copyright 2010 Free Software Foundation, Inc.
Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
This file is part of BFD, the Binary File Descriptor library.
 
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. */
 
#ifndef _VMS_EIHS_H
#define _VMS_EIHS_H
 
#define EIHS__K_MAJORID 1
#define EIHS__K_MINORID 1
 
struct vms_eihs
{
unsigned char majorid[4];
unsigned char minorid[4];
 
/* Debug symbol table virtual block number (vbn). */
unsigned char dstvbn[4];
 
/* Debug symbol table size. */
unsigned char dstsize[4];
 
/* Global symbol table vbn. */
unsigned char gstvbn[4];
 
/* Global symtol table size. */
unsigned char gstsize[4];
 
/* Debug module table vbn. */
unsigned char dmtvbn[4];
 
/* Debug module table size. */
unsigned char dmtsize[4];
};
 
/* Various offsets. */
 
#define EIHS__L_DSTVBN 8
#define EIHS__L_DSTSIZE 12
#define EIHS__L_GSTVBN 16
#define EIHS__L_GSTSIZE 20
#define EIHS__L_DMTVBN 24
#define EIHS__L_DMTBYTES 28
 
#endif /* _VMS_EIHS_H */
/contrib/toolchain/binutils/include/vms/eihvn.h
0,0 → 1,58
/* Alpha VMS external format of Extended Image Header Version.
 
Copyright 2010 Free Software Foundation, Inc.
Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
This file is part of BFD, the Binary File Descriptor library.
 
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. */
 
#ifndef _VMS_EIHVN_H
#define _VMS_EIHVN_H
 
struct vms_eihvn
{
unsigned char subsystem_mask[4];
};
 
struct vms_eihvn_subversion
{
unsigned char minor[2];
unsigned char major[2];
};
 
#define EIHVN__BASE_IMAGE_BIT 0
#define EIHVN__MEMORY_MANAGEMENT_BIT 1
#define EIHVN__IO_BIT 2
#define EIHVN__FILES_VOLUMES_BIT 3
#define EIHVN__PROCESS_SCHED_BIT 4
#define EIHVN__SYSGEN_BIT 5
#define EIHVN__CLUSTERS_LOCKMGR_BIT 6
#define EIHVN__LOGICAL_NAMES_BIT 7
#define EIHVN__SECURITY_BIT 8
#define EIHVN__IMAGE_ACTIVATOR_BIT 9
#define EIHVN__NETWORKS_BIT 10
#define EIHVN__COUNTERS_BIT 11
#define EIHVN__STABLE_BIT 12
#define EIHVN__MISC_BIT 13
#define EIHVN__CPU_BIT 14
#define EIHVN__VOLATILE_BIT 15
#define EIHVN__SHELL_BIT 16
#define EIHVN__POSIX_BIT 17
#define EIHVN__MULTI_PROCESSING_BIT 18
#define EIHVN__GALAXY_BIT 19
 
#endif /* _VMS_EIHVN_H */
/contrib/toolchain/binutils/include/vms/eisd.h
0,0 → 1,118
/* Alpha VMS external format of Extended Image Section Descriptor.
 
Copyright 2010 Free Software Foundation, Inc.
Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
This file is part of BFD, the Binary File Descriptor library.
 
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. */
 
#ifndef _VMS_EISD_H
#define _VMS_EISD_H
 
/* Flags. */
#define EISD__M_GBL 0x0001 /* Global. */
#define EISD__M_CRF 0x0002 /* Copy on reference. */
#define EISD__M_DZRO 0x0004 /* Demand zero page. */
#define EISD__M_WRT 0x0008 /* Writable. */
#define EISD__M_INITALCODE 0x0010 /* Part of initialization code. */
#define EISD__M_BASED 0x0020 /* Isect is based. */
#define EISD__M_FIXUPVEC 0x0040 /* Isect is fixup section. */
#define EISD__M_RESIDENT 0x0080 /* Isect is memory resident. */
#define EISD__M_VECTOR 0x0100 /* Vector contained in isect. */
#define EISD__M_PROTECT 0x0200 /* Isect is protected. */
#define EISD__M_LASTCLU 0x0400 /* Last cluster. */
#define EISD__M_EXE 0x0800 /* Code isect. */
#define EISD__M_NONSHRADR 0x1000 /* Contains non-shareable data. */
#define EISD__M_QUAD_LENGTH 0x2000 /* Quad length field valid. */
#define EISD__M_ALLOC_64BIT 0x4000 /* Allocate 64-bit space. */
 
#define EISD__K_LEN 36
#define EISD__K_LENEND 12 /* For end marker or next block. */
#define EISD__K_MAXLENGLBL 84
 
#define EISD__K_GBLNAMLEN 44 /* Size of the field. */
 
struct vms_eisd
{
unsigned char majorid[4];
unsigned char minorid[4];
 
/* Size (in bytes) of this eisd. */
unsigned char eisdsize[4];
 
/* Size (in bytes) of the section. */
unsigned char secsize[4];
 
/* Virtual address of the section. */
unsigned char virt_addr[8];
 
/* Flags. */
unsigned char flags[4];
 
/* Base virtual block number. */
unsigned char vbn[4];
 
/* Page fault cluster. */
unsigned char pfc;
 
/* Linker match control. */
unsigned char matchctl;
 
/* Section type. */
unsigned char type;
 
unsigned char fill_1;
 
/* End of structure for normal records. */
 
/* Ident for global section. */
unsigned char ident[4];
/* Global name ascic. First 8 bytes are quad length field. */
unsigned char gblnam[EISD__K_GBLNAMLEN];
};
 
/* Versions. */
#define EISD__K_MAJORID 1
#define EISD__K_MINORID 1
 
/* Match control. */
#define EISD__K_MATALL 0 /* Match always. */
#define EISD__K_MATEQU 1 /* Match if equal. */
#define EISD__K_MATLEQ 2 /* Match if less or equal. */
#define EISD__K_MATNEV 3 /* Match never. */
 
/* Section type. */
#define EISD__K_NORMAL 0 /* Normal program image section. */
#define EISD__K_SHRFXD 1 /* Shareable fixed section. */
#define EISD__K_PRVFXD 2 /* Private fixed section. */
#define EISD__K_SHRPIC 3 /* Shareable pic section. */
#define EISD__K_PRVPIC 4 /* Private PIC section. */
#define EISD__K_USRSTACK 253 /* User stack section. */
 
/* EISD offsets. */
 
#define EISD__L_EISDSIZE 8
#define EISD__L_SECSIZE 12
#define EISD__Q_VIR_ADDR 16
#define EISD__L_FLAGS 24
#define EISD__L_VBN 28
#define EISD__R_CONTROL 32
#define EISD__L_IDENT 36
#define EISD__T_GBLNAM 40
 
#endif /* _VMS_EISD_H */
/contrib/toolchain/binutils/include/vms/emh.h
0,0 → 1,79
/* Alpha VMS external format of Extended Module Header.
 
Copyright 2010 Free Software Foundation, Inc.
Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
This file is part of BFD, the Binary File Descriptor library.
 
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. */
 
#ifndef _VMS_EMH_H
#define _VMS_EMH_H
 
#define EMH__C_MHD 0 /* Main header record. */
#define EMH__C_LNM 1 /* Language name and version. */
#define EMH__C_SRC 2 /* Source file specification. */
#define EMH__C_TTL 3 /* Title text of module. */
#define EMH__C_CPR 4 /* Copyright notice. */
#define EMH__C_MTC 5 /* Maintenance status. */
#define EMH__C_GTX 6 /* General text. */
#define EMH__C_MAXHDRTYP 6 /* Maximum allowable type. */
 
struct vms_emh_common
{
/* Record type. */
unsigned char rectyp[2];
 
/* Record size. */
unsigned char size[2];
 
/* Subtype. */
unsigned char subtyp[2];
};
 
struct vms_emh_mhd
{
struct vms_emh_common common;
 
unsigned char strlvl;
 
unsigned char temp;
 
unsigned char arch1[4];
unsigned char arch2[4];
 
unsigned char recsiz[4];
 
/* Module name: ASCIC. */
/* Module version: ASCIC. */
/* Compile data: ASCIC. */
};
 
#define EOBJ__C_MAXRECSIZ 8192 /* Maximum legal record size. */
#define EOBJ__C_STRLVL 2 /* Structure level. */
#define EOBJ__C_SYMSIZ 64 /* Maximum symbol length. */
#define EOBJ__C_SECSIZ 31 /* Maximum section name length. */
#define EOBJ__C_STOREPLIM -1 /* Maximum repeat count on store commands. */
#define EOBJ__C_PSCALILIM 16 /* Maximum p-sect alignment. */
 
struct vms_emh_lnm
{
struct vms_emh_common common;
 
/* Language processor name: ASCII. */
};
 
#endif /* _VMS_EMH_H */
/contrib/toolchain/binutils/include/vms/eobjrec.h
0,0 → 1,48
/* Alpha VMS external format of Extended Object Records.
 
Copyright 2010 Free Software Foundation, Inc.
Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
This file is part of BFD, the Binary File Descriptor library.
 
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. */
 
#ifndef _VMS_EOBJREC_H
#define _VMS_EOBJREC_H
 
#define EOBJ__C_EMH 8 /* EVAX mdule header record. */
#define EOBJ__C_EEOM 9 /* EVAX ed of module record. */
#define EOBJ__C_EGSD 10 /* EVAX gobal symbol definition record. */
#define EOBJ__C_ETIR 11 /* EVAX txt information record. */
#define EOBJ__C_EDBG 12 /* EVAX Dbugger information record. */
#define EOBJ__C_ETBT 13 /* EVAX Taceback information record. */
#define EOBJ__C_MAXRECTYP 13 /* EVAX Lst assigned record type. */
 
struct vms_eobjrec
{
/* Record type. */
unsigned char rectyp[2];
 
/* Record size. */
unsigned char size[2];
 
#if 0
/* Record subtype. */
unsigned char subtyp[2];
#endif
};
 
#endif /* _VMS_EOBJREC_H */
/contrib/toolchain/binutils/include/vms/esdf.h
0,0 → 1,41
/* Alpha VMS external format of Extended GSD Global Symbol Definition.
 
Copyright 2010 Free Software Foundation, Inc.
Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
This file is part of BFD, the Binary File Descriptor library.
 
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. */
 
#ifndef _VMS_ESDF_H
#define _VMS_ESDF_H
 
struct vms_esdf
{
struct vms_egsy header;
 
unsigned char value[8];
unsigned char code_address[8];
unsigned char ca_psindx[4];
 
unsigned char psindx[4];
unsigned char namlng;
unsigned char name[31];
};
 
#define ESDF__B_NAMLNG 32
 
#endif /* _VMS_ESDF_H */
/contrib/toolchain/binutils/include/vms/esdfm.h
0,0 → 1,49
/* Alpha VMS external format of Extended Symbol Definition for version Mask.
 
Copyright 2010 Free Software Foundation, Inc.
Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
This file is part of BFD, the Binary File Descriptor library.
 
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. */
 
#ifndef _VMS_ESDFM_H
#define _VMS_ESDFM_H
 
struct vms_esdfm
{
/* Entry type. */
unsigned char gsdtyp[2];
 
/* Length of the entry. */
unsigned char size[2];
 
/* Data type. */
unsigned char datyp;
 
/* Pad for alignment. */
unsigned char temp;
 
unsigned char flags[2];
 
unsigned char value[8];
unsigned char psindx[4];
unsigned char version_mask[4];
unsigned char namlng;
unsigned char name[31];
};
 
#endif /* _VMS_ESDFM_H */
/contrib/toolchain/binutils/include/vms/esdfv.h
0,0 → 1,49
/* Alpha VMS external format of Extended Symbol Def for Vectored symbols.
 
Copyright 2010 Free Software Foundation, Inc.
Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
This file is part of BFD, the Binary File Descriptor library.
 
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. */
 
#ifndef _VMS_ESDFV_H
#define _VMS_ESDFV_H
 
struct vms_esdfv
{
/* Entry type. */
unsigned char gsdtyp[2];
 
/* Length of the entry. */
unsigned char size[2];
 
/* Data type. */
unsigned char datyp;
 
/* Pad for alignment. */
unsigned char temp;
 
unsigned char flags[2];
 
unsigned char value[8];
unsigned char psindx[4];
unsigned char vector[4];
unsigned char namlng;
unsigned char name[31];
};
 
#endif /* _VMS_ESDFV_H */
/contrib/toolchain/binutils/include/vms/esgps.h
0,0 → 1,72
/* Alpha VMS external format of Extended Shared Program Section Definition.
 
Copyright 2010 Free Software Foundation, Inc.
Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
This file is part of BFD, the Binary File Descriptor library.
 
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. */
 
#ifndef _VMS_ESGPS_H
#define _VMS_ESGPS_H
 
struct vms_esgps
{
/* Entry type. */
unsigned char gsdtyp[2];
 
/* Length of the entry. */
unsigned char gsdsiz[2];
 
/* Psect alignment. */
unsigned char align;
 
/* Pad for alignment. */
unsigned char temp;
 
unsigned char flags[2];
 
/* Length of this contribution. */
unsigned char alloc[4];
 
/* Image offset of the psect. */
unsigned char base[4];
 
/* Symbol vector offset. */
unsigned char value[8];
 
/* Name. */
unsigned char namlng;
unsigned char name[31];
};
 
/* These are the same as EGPS flags. */
 
#define ESGPS__V_PIC (1 << 0) /* Not meaningful. */
#define ESGPS__V_LIB (1 << 1) /* Defined in a shareable image. */
#define ESGPS__V_OVR (1 << 2) /* Overlaid contribution. */
#define ESGPS__V_REL (1 << 3) /* Relocatable. */
#define ESGPS__V_GBL (1 << 4) /* Global. */
#define ESGPS__V_SHR (1 << 5) /* Shareable. */
#define ESGPS__V_EXE (1 << 6) /* Executable. */
#define ESGPS__V_RD (1 << 7) /* Readable. */
#define ESGPS__V_WRT (1 << 8) /* Writable. */
#define ESGPS__V_VEC (1 << 9) /* Change mode dispatch or message vectors. */
#define ESGPS__V_NOMOD (1 << 10) /* Demand-zero. */
#define ESGPS__V_COM (1 << 11) /* Conditional storage. */
#define ESGPS__V_ALLOC_64BIT (1 << 12) /* Allocated in 64-bit space. */
 
#endif /* _VMS_ESGPS_H */
/contrib/toolchain/binutils/include/vms/esrf.h
0,0 → 1,36
/* Alpha VMS external format of Extended GSD Global Symbol Reference.
 
Copyright 2010 Free Software Foundation, Inc.
Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
This file is part of BFD, the Binary File Descriptor library.
 
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. */
 
#ifndef _VMS_ESRF_H
#define _VMS_ESRF_H
 
struct vms_esrf
{
struct vms_egsy header;
 
unsigned char namlng;
unsigned char name[31];
};
 
#define ESRF__B_NAMLNG 8
 
#endif /* _VMS_ESRF_H */
/contrib/toolchain/binutils/include/vms/etir.h
0,0 → 1,114
/* Alpha VMS external format of Extended Text Information and Relocation.
 
Copyright 2010 Free Software Foundation, Inc.
Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
This file is part of BFD, the Binary File Descriptor library.
 
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. */
 
#ifndef _VMS_ETIR_H
#define _VMS_ETIR_H
 
#define ETIR__C_MINSTACOD 0 /* Minimum stack code. */
#define ETIR__C_STA_GBL 0 /* Stack global symbol value. */
#define ETIR__C_STA_LW 1 /* Stack longword. */
#define ETIR__C_STA_QW 2 /* Stack quadword. */
#define ETIR__C_STA_PQ 3 /* Stack psect base + quadword off. */
#define ETIR__C_STA_LI 4 /* Stack literal. */
#define ETIR__C_STA_MOD 5 /* Stack module. */
#define ETIR__C_STA_CKARG 6 /* Check Arguments. */
#define ETIR__C_MAXSTACOD 6 /* Maximum stack code. */
 
#define ETIR__C_MINSTOCOD 50 /* Minimum store code. */
#define ETIR__C_STO_B 50 /* Store byte. */
#define ETIR__C_STO_W 51 /* Store word. */
#define ETIR__C_STO_LW 52 /* Store longword. */
#define ETIR__C_STO_QW 53 /* Store quadword. */
#define ETIR__C_STO_IMMR 54 /* Store immediate Repeated. */
#define ETIR__C_STO_GBL 55 /* Store global. */
#define ETIR__C_STO_CA 56 /* Store code address. */
#define ETIR__C_STO_RB 57 /* Store relative branch. */
#define ETIR__C_STO_AB 58 /* Store absolute branch. */
#define ETIR__C_STO_OFF 59 /* Store offset within psect. */
#define ETIR__C_STO_IMM 61 /* Store immediate. */
#define ETIR__C_STO_GBL_LW 62 /* Store global Longword. */
#define ETIR__C_STO_LP_PSB 63 /* STO_LP_PSB not valid in level 2 use STC_LP_PSB. */
#define ETIR__C_STO_HINT_GBL 64 /* Store 14 bit HINT at global address. */
#define ETIR__C_STO_HINT_PS 65 /* Store 14 bit HINT at psect + offset */
#define ETIR__C_MAXSTOCOD 65 /* Maximum store code. */
 
/* Operate codes. */
#define ETIR__C_MINOPRCOD 100 /* Minimum operate code. */
#define ETIR__C_OPR_NOP 100 /* No-op. */
#define ETIR__C_OPR_ADD 101 /* Add. */
#define ETIR__C_OPR_SUB 102 /* Subtract. */
#define ETIR__C_OPR_MUL 103 /* Multiply. */
#define ETIR__C_OPR_DIV 104 /* Divide. */
#define ETIR__C_OPR_AND 105 /* Logical AND. */
#define ETIR__C_OPR_IOR 106 /* Logical inclusive OR. */
#define ETIR__C_OPR_EOR 107 /* Logical exclusive OR. */
#define ETIR__C_OPR_NEG 108 /* Negate. */
#define ETIR__C_OPR_COM 109 /* Complement. */
#define ETIR__C_OPR_INSV 110 /* Insert bit field. */
#define ETIR__C_OPR_ASH 111 /* Arithmetic shift. */
#define ETIR__C_OPR_USH 112 /* Unsigned shift. */
#define ETIR__C_OPR_ROT 113 /* Rotate. */
#define ETIR__C_OPR_SEL 114 /* Select one of 3 long on top of stack. */
#define ETIR__C_OPR_REDEF 115 /* Redefine this symbol after pass 2. */
#define ETIR__C_OPR_DFLIT 116 /* Define a literal. */
#define ETIR__C_MAXOPRCOD 116 /* Maximum operate code. */
 
/* Control codes. */
#define ETIR__C_MINCTLCOD 150 /* Minimum control code. */
#define ETIR__C_CTL_SETRB 150 /* Set relocation base. */
#define ETIR__C_CTL_AUGRB 151 /* Augment relocation base. */
#define ETIR__C_CTL_DFLOC 152 /* Define debug location. */
#define ETIR__C_CTL_STLOC 153 /* Set debug location. */
#define ETIR__C_CTL_STKDL 154 /* Stack debug location. */
#define ETIR__C_MAXCTLCOD 154 /* Maximum control code. */
 
/* Store-conditional (STC) codes. */
#define ETIR__C_MINSTCCOD 200 /* Minimum store-conditional code. */
#define ETIR__C_STC_LP 200 /* STC Linkage Pair. */
#define ETIR__C_STC_LP_PSB 201 /* STC Linkage Pair with Proc Signature. */
#define ETIR__C_STC_GBL 202 /* STC Address at global address. */
#define ETIR__C_STC_GCA 203 /* STC Code Address at global address. */
#define ETIR__C_STC_PS 204 /* STC Address at psect + offset. */
#define ETIR__C_STC_NOP_GBL 205 /* STC NOP at address of global. */
#define ETIR__C_STC_NOP_PS 206 /* STC NOP at pect + offset. */
#define ETIR__C_STC_BSR_GBL 207 /* STC BSR at global address. */
#define ETIR__C_STC_BSR_PS 208 /* STC BSR at pect + offset. */
#define ETIR__C_STC_LDA_GBL 209 /* STC LDA at global address. */
#define ETIR__C_STC_LDA_PS 210 /* STC LDA at psect + offset. */
#define ETIR__C_STC_BOH_GBL 211 /* STC BSR or Hint at global address. */
#define ETIR__C_STC_BOH_PS 212 /* STC BSR or Hint at pect + offset. */
#define ETIR__C_STC_NBH_GBL 213 /* STC NOP,BSR or HINT at global address. */
#define ETIR__C_STC_NBH_PS 214 /* STC NOP,BSR or HINT at psect + offset. */
#define ETIR__C_MAXSTCCOD 214 /* Maximum store-conditional code. */
 
#define ETIR__C_HEADER_SIZE 4 /* Size of the header of a command */
 
struct vms_etir
{
/* Commands. See above. */
unsigned char rectyp[2];
 
/* Size (including this header). */
unsigned char size[2];
};
 
#endif /* _VMS_ETIR_H */
/contrib/toolchain/binutils/include/vms/internal.h
0,0 → 1,63
/* Alpha VMS internal format.
 
Copyright 2010 Free Software Foundation, Inc.
Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
This file is part of BFD, the Binary File Descriptor library.
 
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. */
 
#ifndef _VMS_INTERNAL_H
#define _VMS_INTERNAL_H
 
struct vms_internal_eisd
{
unsigned int majorid; /* Version. */
unsigned int minorid;
unsigned int eisdsize; /* Size (in bytes) of this eisd. */
unsigned int secsize; /* Size (in bytes) of the section. */
bfd_vma virt_addr; /* Virtual address of the section. */
unsigned int flags; /* Flags. */
unsigned int vbn; /* Base virtual block number. */
unsigned char pfc; /* Page fault cluster. */
unsigned char matchctl; /* Linker match control. */
unsigned char type; /* Section type. */
};
 
struct vms_internal_gbl_eisd
{
struct vms_internal_eisd common;
 
unsigned int ident; /* Ident for global section. */
unsigned char gblnam[44]; /* Global name ascic. */
};
 
struct vms_internal_eisd_map
{
/* Next eisd in the list. */
struct vms_internal_eisd_map *next;
 
/* Offset in output file. */
file_ptr file_pos;
 
union
{
struct vms_internal_eisd eisd;
struct vms_internal_gbl_eisd gbl_eisd;
} u;
};
 
#endif /* _VMS_INTERNAL_H */
/contrib/toolchain/binutils/include/vms/lbr.h
0,0 → 1,332
/* Alpha VMS external format of Libraries.
 
Copyright 2010 Free Software Foundation, Inc.
Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
This file is part of BFD, the Binary File Descriptor library.
 
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. */
 
#ifndef _VMS_LBR_H
#define _VMS_LBR_H
 
/* Libray HeaDer. */
 
/* Magic numbers. Should match the major version. */
 
#define LHD_SANEID_DCX 319232342
#define LHD_SANEID3 233579905
#define LHD_SANEID6 233579911
 
/* Library type. */
#define LBR__C_TYP_UNK 0 /* Unknown / unspecified. */
#define LBR__C_TYP_OBJ 1 /* Vax object. */
#define LBR__C_TYP_MLB 2 /* Macro. */
#define LBR__C_TYP_HLP 3 /* Help. */
#define LBR__C_TYP_TXT 4 /* Text. */
#define LBR__C_TYP_SHSTB 5 /* Vax shareable image. */
#define LBR__C_TYP_NCS 6 /* NCS. */
#define LBR__C_TYP_EOBJ 7 /* Alpha object. */
#define LBR__C_TYP_ESHSTB 8 /* Alpha shareable image. */
#define LBR__C_TYP_IOBJ 9 /* IA-64 object. */
#define LBR__C_TYP_ISHSTB 10 /* IA-64 shareable image. */
 
struct vms_lhd
{
/* Type of the library. See above. */
unsigned char type;
 
/* Number of indexes. Generally 1, 2 for object libraries. */
unsigned char nindex;
 
unsigned char fill_1[2];
 
/* Sanity Id. */
unsigned char sanity[4];
 
/* Version. */
unsigned char majorid[2];
unsigned char minorid[2];
 
/* Tool name. */
unsigned char lbrver[32];
 
/* Create time. */
unsigned char credat[8];
 
/* Update time. */
unsigned char updtim[8];
 
/* Size of the MHD. */
unsigned char mhdusz;
 
unsigned char idxblkf[2]; /* Unused. */
unsigned char fill_2;
unsigned char closerror[2];
 
unsigned char spareword[2];
 
/* First free block, and number of free blocks. */
unsigned char freevbn[4];
unsigned char freeblk[4];
 
unsigned char nextrfa[6];
unsigned char nextvbn[4];
 
/* Free pre-allocated index block. */
/* Number of free blocks. */
unsigned char freidxblk[4];
/* VBN of a simply linked list of free blocks. The list is terminated by a
nul VBN. */
unsigned char freeidx[4];
 
/* Highest pre-allocated index block and in use. */
unsigned char hipreal[4];
unsigned char hiprusd[4];
 
/* Number of index blocks in use. */
unsigned char idxblks[4];
 
/* Number of index entries. */
unsigned char idxcnt[4];
 
/* Number of modules entries. */
unsigned char modcnt[4];
 
unsigned char fill_3[2];
 
/* Number of module headers. */
unsigned char modhdrs[4];
 
/* Overhead index pointers. */
unsigned char idxovh[4];
 
/* Update history records. */
unsigned char maxluhrec[2];
unsigned char numluhrec[2];
unsigned char begluhrfa[6];
unsigned char endluhrfa[6];
 
/* DCX map. */
unsigned char dcxmapvbn[4];
 
unsigned char fill_4[4 * 13];
};
 
/* Known major ids. */
#define LBR_MAJORID 3 /* Alpha libraries. */
#define LBR_ELFMAJORID 6 /* Elf libraries (new index, new data). */
 
/* Offset of the first IDD. */
#define LHD_IDXDESC 196
 
/* InDex Description. */
struct vms_idd
{
unsigned char flags[2];
 
/* Max length of the key. */
unsigned char keylen[2];
 
/* First index block. */
unsigned char vbn[4];
};
 
/* IDD flags. */
#define IDD__FLAGS_ASCII 1
#define IDD__FLAGS_LOCKED 2
#define IDD__FLAGS_VARLENIDX 4
#define IDD__FLAGS_NOCASECMP 8
#define IDD__FLAGS_NOCASENTR 16
#define IDD__FLAGS_UPCASNTRY 32
 
#define IDD_LENGTH 8
 
/* Index block. */
#define INDEXDEF__LENGTH 512
#define INDEXDEF__BLKSIZ 500
 
struct vms_indexdef
{
/* Number of bytes used. */
unsigned char used[2];
 
/* VBN of the parent. */
unsigned char parent[4];
 
unsigned char fill_1[6];
 
/* The key field contains vms_idx/vms_elfidx structures, which are
simply a key (= a string) and a rfa. */
unsigned char keys[INDEXDEF__BLKSIZ];
};
 
/* An offset in a file. */
 
struct vms_rfa
{
/* Logical block number, 1 based.
0 means that the field is absent. Block size is 512. */
unsigned char vbn[4];
 
/* Offset within the block. */
unsigned char offset[2];
};
 
/* Index keys. For version 3. */
 
struct vms_idx
{
/* Offset from the start of the vbn, so minimum should be
DATA__DATA (ie 6). */
struct vms_rfa rfa;
 
unsigned char keylen;
/* The length of this field is in fact keylen. */
unsigned char keyname[256];
};
 
/* Index keys, for version 4 and later. */
 
struct vms_elfidx
{
struct vms_rfa rfa;
 
unsigned char keylen[2];
unsigned char flags;
unsigned char keyname[256];
};
 
/* Flags of elfidx. */
 
#define ELFIDX__WEAK 0x01 /* Weak symbol. */
#define ELFIDX__GROUP 0x02 /* Group symbol. */
#define ELFIDX__LISTRFA 0x04 /* RFA field points to an LHS. */
#define ELFIDX__SYMESC 0x08 /* Long symbol. */
 
#define RFADEF__C_INDEX 0xffff
 
/* List head structure. That's what is pointed by rfa when LISTRFA flag
is set in elfidx. */
 
struct vms_lhs
{
struct vms_rfa ng_g_rfa; /* Non-group global. */
struct vms_rfa ng_wk_rfa; /* Non-group weak. */
struct vms_rfa g_g_rfa; /* Group global. */
struct vms_rfa g_wk_rfa; /* Group weak. */
unsigned char flags;
};
 
/* List node structure. Fields of LHS point to this structure. */
 
struct vms_lns
{
/* Next node in the list. */
struct vms_rfa nxtrfa;
 
/* Module associated with the key. */
struct vms_rfa modrfa;
};
 
struct vms_datadef
{
/* Number of records in this block. */
unsigned char recs;
unsigned char fill_1;
 
/* Next vbn. */
unsigned char link[4];
 
/* Data. The first word is the record length, followed by record
data and a possible pad byte so that record length is always aligned. */
unsigned char data[506];
};
#define DATA__LENGTH 512
#define DATA__DATA 6
 
/* Key name block. This is used for keys longer than 128 bytes. */
 
struct vms_kbn
{
/* Length of the key chunk. */
unsigned char keylen[2];
 
/* RFA of the next chunk. */
struct vms_rfa rfa;
 
/* Followed by the key chunk. */
};
 
/* Module header. */
struct vms_mhd
{
/* Fixed part. */
unsigned char lbrflag;
unsigned char id;
unsigned char fill_1[2];
unsigned char refcnt[4];
unsigned char datim[8];
 
unsigned char objstat;
/* Ident or GSMATCH. */
unsigned char objidlng;
unsigned char objid[31];
 
unsigned char pad1[3];
unsigned char otherefcnt[4];
unsigned char modsize[4];
unsigned char pad2[4];
};
 
#define MHD__C_MHDID 0xad /* Value for id. */
#define MHD__C_MHDLEN 16 /* Fixed part length. */
#define MHD__C_USRDAT 16
 
/* Flags for objstat. */
#define MHD__M_SELSRC 0x1 /* Selective search. */
#define MHD__M_OBJTIR 0x2
#define MHD__M_WKSYM 0x4
 
struct vms_luh
{
unsigned char nxtluhblk[4];
unsigned char spare[2];
unsigned char data[506];
};
 
struct vms_luhdef
{
unsigned char rechdr[2];
unsigned char reclen[2];
};
#define LUH__RECHDRLEN 4
#define LUH__RECHDRMRK 0xabba
#define LUH__DATAFLDLEN 506
 
/* Entry in the history. */
 
struct vms_leh
{
unsigned char date[8];
unsigned char nbr_units[2];
unsigned char action[2]; /* 1: delete, 2: insert, 3: replaced. */
unsigned char idlen;
/* username
modules... */
};
 
#endif /* _VMS_LBR_H */
/contrib/toolchain/binutils/include/vms/prt.h
0,0 → 1,43
/* Alpha VMS external format of Protection values.
 
Copyright 2010 Free Software Foundation, Inc.
Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
This file is part of BFD, the Binary File Descriptor library.
 
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. */
 
#ifndef _VMS_PRT_H
#define _VMS_PRT_H
 
#define PRT__C_NA 0 /* No access. */
#define PRT__C_RESERVED 1
#define PRT__C_KW 2 /* Kernel RW. */
#define PRT__C_KR 3 /* Kernel RO. */
#define PRT__C_UW 4 /* User RW. */
#define PRT__C_EW 5 /* Executive RW. */
#define PRT__C_ERKW 6 /* Executive RO, Kernel RW. */
#define PRT__C_ER 7 /* Executive RO. */
#define PRT__C_SW 8 /* Supervisor RW. */
#define PRT__C_SREW 9 /* Supervisor RO, Executive RW. */
#define PRT__C_SRKW 10 /* Supervisor RO, Kernel RW. */
#define PRT__C_SR 11 /* Supervisor RO. */
#define PRT__C_URSW 12 /* User RO, Supervisor RW. */
#define PRT__C_UREW 13 /* User RO, Executive RW. */
#define PRT__C_URKW 14 /* User RO, Kernel RW. */
#define PRT__C_UR 15 /* User RO. */
 
#endif /* _VMS_PRT_H */
/contrib/toolchain/binutils/include/vms/shl.h
0,0 → 1,55
/* Alpha VMS external format of Shareable image List.
 
Copyright 2010 Free Software Foundation, Inc.
Written by Tristan Gingold <gingold@adacore.com>, AdaCore.
 
This file is part of BFD, the Binary File Descriptor library.
 
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. */
 
#ifndef _VMS_SHL_H
#define _VMS_SHL_H
 
struct vms_shl
{
/* Base address of this shareable image. */
unsigned char baseva[4];
 
/* Point in SHL shareable image to SHL in executable image. */
unsigned char shlptr[4];
 
/* GSMATCH. */
unsigned char ident[4];
 
/* Permanent shareable image context. */
unsigned char permctx[4];
 
/* Size of this structure. */
unsigned char size;
 
unsigned char fill_1[2];
 
/* Flags. */
unsigned char flags;
 
/* Address of the image control block (in memory). */
unsigned char icb[4];
 
/* Image name. ASCIC. */
unsigned char imgnam[40];
};
 
#endif /* _VMS_SHL_H */