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.
This commit is contained in:
parent
3994761f62
commit
444a144ff4
5
include/vms/ChangeLog
Normal file
5
include/vms/ChangeLog
Normal file
@ -0,0 +1,5 @@
|
||||
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.
|
45
include/vms/dmt.h
Normal file
45
include/vms/dmt.h
Normal file
@ -0,0 +1,45 @@
|
||||
/* 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
|
||||
{
|
||||
/* Address of the module. */
|
||||
unsigned char modbeg[4];
|
||||
|
||||
/* Size of the module. */
|
||||
unsigned char size[4];
|
||||
|
||||
/* Number of psect for this module. */
|
||||
unsigned char psect_count[2];
|
||||
|
||||
unsigned char mbz[2];
|
||||
};
|
||||
|
||||
struct vms_dmt_psect
|
||||
{
|
||||
unsigned char start[4];
|
||||
unsigned char length[4];
|
||||
};
|
||||
#endif /* _VMS_DMT_H */
|
165
include/vms/dst.h
Normal file
165
include/vms/dst.h
Normal file
@ -0,0 +1,165 @@
|
||||
/* 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
|
||||
|
||||
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 9
|
||||
#define DST__K_SET_LINUM_B 19
|
||||
#define DST__K_SET_LINUM_L 20
|
||||
#define DST__K_TERM 14
|
||||
#define DST__K_SET_ABS_PC 16
|
||||
#define DST__K_DELTA_PC_L 17
|
||||
|
||||
/* 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_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. */
|
||||
};
|
||||
|
||||
#endif /* _VMS_DST_H */
|
60
include/vms/eeom.h
Normal file
60
include/vms/eeom.h
Normal file
@ -0,0 +1,60 @@
|
||||
/* 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];
|
||||
};
|
||||
|
||||
#endif /* _VMS_EEOM_H */
|
50
include/vms/egps.h
Normal file
50
include/vms/egps.h
Normal file
@ -0,0 +1,50 @@
|
||||
/* 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];
|
||||
};
|
||||
|
||||
#endif /* _VMS_EGPS_H */
|
61
include/vms/egsd.h
Normal file
61
include/vms/egsd.h
Normal file
@ -0,0 +1,61 @@
|
||||
/* 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 */
|
39
include/vms/egst.h
Normal file
39
include/vms/egst.h
Normal file
@ -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 */
|
54
include/vms/egsy.h
Normal file
54
include/vms/egsy.h
Normal file
@ -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
|
||||
#define EGSY__V_DEF 0x0002
|
||||
#define EGSY__V_UNI 0x0004
|
||||
#define EGSY__V_REL 0x0008
|
||||
#define EGSY__V_COMM 0x0010
|
||||
#define EGSY__V_VECEP 0x0020
|
||||
#define EGSY__V_NORM 0x0040
|
||||
#define EGSY__V_QUAD_VAL 0x0080
|
||||
|
||||
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 */
|
80
include/vms/eiaf.h
Normal file
80
include/vms/eiaf.h
Normal file
@ -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[8];
|
||||
|
||||
/* Offset to linkage pair with procedure signature fixups. */
|
||||
unsigned char lppsbfixoff[4];
|
||||
};
|
||||
|
||||
#endif /* _VMS_EIAF_H */
|
38
include/vms/eicp.h
Normal file
38
include/vms/eicp.h
Normal file
@ -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 */
|
50
include/vms/eiha.h
Normal file
50
include/vms/eiha.h
Normal file
@ -0,0 +1,50 @@
|
||||
/* 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];
|
||||
};
|
||||
|
||||
#endif /* _VMS_EIHA_H */
|
140
include/vms/eihd.h
Normal file
140
include/vms/eihd.h
Normal file
@ -0,0 +1,140 @@
|
||||
/* 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. */
|
||||
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. */
|
||||
unsigned char iafva[8];
|
||||
|
||||
/* RVA of symbol vector. */
|
||||
unsigned char symvva[8];
|
||||
|
||||
/* Byte offset to version number array. */
|
||||
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. */
|
||||
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. */
|
||||
|
||||
/* 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
|
||||
|
||||
#endif /* _VMS_EIHD_H */
|
50
include/vms/eihi.h
Normal file
50
include/vms/eihi.h
Normal file
@ -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 */
|
63
include/vms/eihs.h
Normal file
63
include/vms/eihs.h
Normal file
@ -0,0 +1,63 @@
|
||||
/* 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 */
|
56
include/vms/eihvn.h
Normal file
56
include/vms/eihvn.h
Normal file
@ -0,0 +1,56 @@
|
||||
/* 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
|
||||
|
||||
#endif /* _VMS_EIHVN_H */
|
95
include/vms/eisd.h
Normal file
95
include/vms/eisd.h
Normal file
@ -0,0 +1,95 @@
|
||||
/* 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 proected. */
|
||||
#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. */
|
||||
|
||||
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;
|
||||
};
|
||||
|
||||
struct vms_eisd_ext
|
||||
{
|
||||
/* Ident for global section. */
|
||||
unsigned char ident[4];
|
||||
|
||||
/* Global name ascic. First 8 bytes are quad length field. */
|
||||
unsigned char gblnam[44];
|
||||
};
|
||||
|
||||
/* 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 */
|
72
include/vms/emh.h
Normal file
72
include/vms/emh.h
Normal file
@ -0,0 +1,72 @@
|
||||
/* 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. */
|
||||
};
|
||||
|
||||
struct vms_emh_lnm
|
||||
{
|
||||
struct vms_emh_common common;
|
||||
|
||||
/* Language processor name: ASCII. */
|
||||
};
|
||||
|
||||
#endif /* _VMS_EMH_H */
|
48
include/vms/eobjrec.h
Normal file
48
include/vms/eobjrec.h
Normal file
@ -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 */
|
39
include/vms/esdf.h
Normal file
39
include/vms/esdf.h
Normal file
@ -0,0 +1,39 @@
|
||||
/* 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];
|
||||
};
|
||||
|
||||
#endif /* _VMS_ESDF_H */
|
34
include/vms/esrf.h
Normal file
34
include/vms/esrf.h
Normal file
@ -0,0 +1,34 @@
|
||||
/* 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];
|
||||
};
|
||||
|
||||
#endif /* _VMS_ESRF_H */
|
114
include/vms/etir.h
Normal file
114
include/vms/etir.h
Normal file
@ -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 */
|
51
include/vms/shl.h
Normal file
51
include/vms/shl.h
Normal file
@ -0,0 +1,51 @@
|
||||
/* 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];
|
||||
|
||||
unsigned char size;
|
||||
unsigned char fill_1[2];
|
||||
unsigned char flags;
|
||||
|
||||
/* Address of the image control block. */
|
||||
unsigned char icb[4];
|
||||
|
||||
/* Image name. ASCIC. */
|
||||
unsigned char imgnam[40];
|
||||
};
|
||||
|
||||
#endif /* _VMS_SHL_H */
|
Loading…
Reference in New Issue
Block a user