summaryrefslogtreecommitdiff
path: root/include/vms
diff options
context:
space:
mode:
authorTristan Gingold <gingold@adacore.com>2010-05-17 08:07:46 +0000
committerTristan Gingold <gingold@adacore.com>2010-05-17 08:07:46 +0000
commit9a1b4480b48be7f50a3b451db4114c753b837eb8 (patch)
tree9202b16dc74c886e54bd42f5a10bf344ab1fdb8b /include/vms
parent070abf125e052204c4e49f0939a9e8a4539453e9 (diff)
bfd/
2010-05-17 Tristan Gingold <gingold@adacore.com> * vms-alpha.c: Include esgps.h and eidc.h. (_bfd_vms_slurp_egsd): Ignore SPSC and IDC sub-records. (evax_bfd_print_egsd_flags): New function, extracted from ... (evax_bfd_print_egsd): ..., calls evax_bfd_print_egsd_flags. Handles EGSD__C_SPSC and EGSD__C_IDC. include/vms: 2010-05-17 Tristan Gingold <gingold@adacore.com> * eidc.h: New file. * esgps.h: New file.
Diffstat (limited to 'include/vms')
-rw-r--r--include/vms/ChangeLog5
-rw-r--r--include/vms/eidc.h49
-rw-r--r--include/vms/esgps.h72
3 files changed, 126 insertions, 0 deletions
diff --git a/include/vms/ChangeLog b/include/vms/ChangeLog
index edd78fe0a8..e8042bfe08 100644
--- a/include/vms/ChangeLog
+++ b/include/vms/ChangeLog
@@ -1,3 +1,8 @@
+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.
diff --git a/include/vms/eidc.h b/include/vms/eidc.h
new file mode 100644
index 0000000000..987e8c24e0
--- /dev/null
+++ b/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 */
diff --git a/include/vms/esgps.h b/include/vms/esgps.h
new file mode 100644
index 0000000000..e668a8748a
--- /dev/null
+++ b/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 */