diff options
Diffstat (limited to 'include')
41 files changed, 0 insertions, 3611 deletions
diff --git a/include/cgen/ChangeLog b/include/cgen/ChangeLog deleted file mode 100644 index a8d5df9e6..000000000 --- a/include/cgen/ChangeLog +++ /dev/null @@ -1,10 +0,0 @@ -2010-01-05 Doug Evans <dje@sebabeach.org> - - * basic-modes.h (MAKEDI): New macro. - -2009-10-23 Doug Evans <dje@sebabeach.org> - - * basic-modes.h: New file. Moved here from opcodes/cgen-types.h. - * basic-ops.h: New file. Moved here from opcodes/cgen-ops.h. - * bitset.h: New file. Moved here from ../opcode/cgen-bitset.h. - Update license to GPL v3. diff --git a/include/cgen/basic-modes.h b/include/cgen/basic-modes.h deleted file mode 100644 index bd87f3acb..000000000 --- a/include/cgen/basic-modes.h +++ /dev/null @@ -1,52 +0,0 @@ -/* Basic CGEN modes. - Copyright 2005, 2007, 2009 Free Software Foundation, Inc. - Contributed by Red Hat. - - This file is part of the GNU opcodes library. - - This library 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, or (at your option) - any later version. - - It 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 library; see the file COPYING3. If not, write to the - Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA - 02110-1301, USA. */ - -#ifndef CGEN_BASIC_MODES_H -#define CGEN_BASIC_MODES_H - -/* This file doesn't contain all modes, - just the basic/portable ones. - It also provides access to stdint.h (*1) so the includer doesn't have - to deal with the portability issues. - (*1): To the extent that bfd_stdint.h does for now. */ - -/* IWBN to avoid unnecessary dependencies on bfd-anything. */ -#include "bfd_stdint.h" - -typedef int8_t QI; -typedef uint8_t UQI; - -typedef int16_t HI; -typedef uint16_t UHI; - -typedef int32_t SI; -typedef uint32_t USI; - -typedef int64_t DI; -typedef uint64_t UDI; - -typedef int INT; -typedef unsigned int UINT; - -/* Cover macro to create a 64-bit integer. */ -#define MAKEDI(hi, lo) ((((DI) (SI) (hi)) << 32) | ((UDI) (USI) (lo))) - -#endif /* CGEN_BASIC_MODES_H */ diff --git a/include/cgen/basic-ops.h b/include/cgen/basic-ops.h deleted file mode 100644 index 324f0b15e..000000000 --- a/include/cgen/basic-ops.h +++ /dev/null @@ -1,347 +0,0 @@ -/* Basic semantics ops support for CGEN. - Copyright 2005, 2007, 2009 Free Software Foundation, Inc. - Contributed by Red Hat. - - This file is part of the GNU opcodes library. - - This library 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, or (at your option) - any later version. - - It 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 library; see the file COPYING3. If not, write to the - Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA - 02110-1301, USA. */ - -#ifndef CGEN_BASIC_OPS_H -#define CGEN_BASIC_OPS_H - -#include <assert.h> - -#if defined (__GNUC__) && ! defined (SEMOPS_DEFINE_INLINE) -#define SEMOPS_DEFINE_INLINE -#define SEMOPS_INLINE extern inline -#else -#define SEMOPS_INLINE -#endif - -/* These don't really have a mode. */ -#define ANDIF(x, y) ((x) && (y)) -#define ORIF(x, y) ((x) || (y)) - -#define SUBBI(x, y) ((x) - (y)) -#define ANDBI(x, y) ((x) & (y)) -#define ORBI(x, y) ((x) | (y)) -#define XORBI(x, y) ((x) ^ (y)) -#define NEGBI(x) (- (x)) -#define NOTBI(x) (! (BI) (x)) -#define INVBI(x) (~ (x)) -#define EQBI(x, y) ((BI) (x) == (BI) (y)) -#define NEBI(x, y) ((BI) (x) != (BI) (y)) -#define LTBI(x, y) ((BI) (x) < (BI) (y)) -#define LEBI(x, y) ((BI) (x) <= (BI) (y)) -#define GTBI(x, y) ((BI) (x) > (BI) (y)) -#define GEBI(x, y) ((BI) (x) >= (BI) (y)) -#define LTUBI(x, y) ((BI) (x) < (BI) (y)) -#define LEUBI(x, y) ((BI) (x) <= (BI) (y)) -#define GTUBI(x, y) ((BI) (x) > (BI) (y)) -#define GEUBI(x, y) ((BI) (x) >= (BI) (y)) - -#define ADDQI(x, y) ((x) + (y)) -#define SUBQI(x, y) ((x) - (y)) -#define MULQI(x, y) ((x) * (y)) -#define DIVQI(x, y) ((QI) (x) / (QI) (y)) -#define UDIVQI(x, y) ((UQI) (x) / (UQI) (y)) -#define MODQI(x, y) ((QI) (x) % (QI) (y)) -#define UMODQI(x, y) ((UQI) (x) % (UQI) (y)) -#define SRAQI(x, y) ((QI) (x) >> (y)) -#define SRLQI(x, y) ((UQI) (x) >> (y)) -#define SLLQI(x, y) ((UQI) (x) << (y)) -extern QI RORQI (QI, int); -extern QI ROLQI (QI, int); -#define ANDQI(x, y) ((x) & (y)) -#define ORQI(x, y) ((x) | (y)) -#define XORQI(x, y) ((x) ^ (y)) -#define NEGQI(x) (- (x)) -#define NOTQI(x) (! (QI) (x)) -#define INVQI(x) (~ (x)) -#define ABSQI(x) ((x) < 0 ? -(x) : (x)) -#define EQQI(x, y) ((QI) (x) == (QI) (y)) -#define NEQI(x, y) ((QI) (x) != (QI) (y)) -#define LTQI(x, y) ((QI) (x) < (QI) (y)) -#define LEQI(x, y) ((QI) (x) <= (QI) (y)) -#define GTQI(x, y) ((QI) (x) > (QI) (y)) -#define GEQI(x, y) ((QI) (x) >= (QI) (y)) -#define LTUQI(x, y) ((UQI) (x) < (UQI) (y)) -#define LEUQI(x, y) ((UQI) (x) <= (UQI) (y)) -#define GTUQI(x, y) ((UQI) (x) > (UQI) (y)) -#define GEUQI(x, y) ((UQI) (x) >= (UQI) (y)) - -#define ADDHI(x, y) ((x) + (y)) -#define SUBHI(x, y) ((x) - (y)) -#define MULHI(x, y) ((x) * (y)) -#define DIVHI(x, y) ((HI) (x) / (HI) (y)) -#define UDIVHI(x, y) ((UHI) (x) / (UHI) (y)) -#define MODHI(x, y) ((HI) (x) % (HI) (y)) -#define UMODHI(x, y) ((UHI) (x) % (UHI) (y)) -#define SRAHI(x, y) ((HI) (x) >> (y)) -#define SRLHI(x, y) ((UHI) (x) >> (y)) -#define SLLHI(x, y) ((UHI) (x) << (y)) -extern HI RORHI (HI, int); -extern HI ROLHI (HI, int); -#define ANDHI(x, y) ((x) & (y)) -#define ORHI(x, y) ((x) | (y)) -#define XORHI(x, y) ((x) ^ (y)) -#define NEGHI(x) (- (x)) -#define NOTHI(x) (! (HI) (x)) -#define INVHI(x) (~ (x)) -#define ABSHI(x) ((x) < 0 ? -(x) : (x)) -#define EQHI(x, y) ((HI) (x) == (HI) (y)) -#define NEHI(x, y) ((HI) (x) != (HI) (y)) -#define LTHI(x, y) ((HI) (x) < (HI) (y)) -#define LEHI(x, y) ((HI) (x) <= (HI) (y)) -#define GTHI(x, y) ((HI) (x) > (HI) (y)) -#define GEHI(x, y) ((HI) (x) >= (HI) (y)) -#define LTUHI(x, y) ((UHI) (x) < (UHI) (y)) -#define LEUHI(x, y) ((UHI) (x) <= (UHI) (y)) -#define GTUHI(x, y) ((UHI) (x) > (UHI) (y)) -#define GEUHI(x, y) ((UHI) (x) >= (UHI) (y)) - -#define ADDSI(x, y) ((x) + (y)) -#define SUBSI(x, y) ((x) - (y)) -#define MULSI(x, y) ((x) * (y)) -#define DIVSI(x, y) ((SI) (x) / (SI) (y)) -#define UDIVSI(x, y) ((USI) (x) / (USI) (y)) -#define MODSI(x, y) ((SI) (x) % (SI) (y)) -#define UMODSI(x, y) ((USI) (x) % (USI) (y)) -#define SRASI(x, y) ((SI) (x) >> (y)) -#define SRLSI(x, y) ((USI) (x) >> (y)) -#define SLLSI(x, y) ((USI) (x) << (y)) -extern SI RORSI (SI, int); -extern SI ROLSI (SI, int); -#define ANDSI(x, y) ((x) & (y)) -#define ORSI(x, y) ((x) | (y)) -#define XORSI(x, y) ((x) ^ (y)) -#define NEGSI(x) (- (x)) -#define NOTSI(x) (! (SI) (x)) -#define INVSI(x) (~ (x)) -#define ABSSI(x) ((x) < 0 ? -(x) : (x)) -#define EQSI(x, y) ((SI) (x) == (SI) (y)) -#define NESI(x, y) ((SI) (x) != (SI) (y)) -#define LTSI(x, y) ((SI) (x) < (SI) (y)) -#define LESI(x, y) ((SI) (x) <= (SI) (y)) -#define GTSI(x, y) ((SI) (x) > (SI) (y)) -#define GESI(x, y) ((SI) (x) >= (SI) (y)) -#define LTUSI(x, y) ((USI) (x) < (USI) (y)) -#define LEUSI(x, y) ((USI) (x) <= (USI) (y)) -#define GTUSI(x, y) ((USI) (x) > (USI) (y)) -#define GEUSI(x, y) ((USI) (x) >= (USI) (y)) - -#ifdef DI_FN_SUPPORT -extern DI ADDDI (DI, DI); -extern DI SUBDI (DI, DI); -extern DI MULDI (DI, DI); -extern DI DIVDI (DI, DI); -extern DI UDIVDI (DI, DI); -extern DI MODDI (DI, DI); -extern DI UMODDI (DI, DI); -extern DI SRADI (DI, int); -extern UDI SRLDI (UDI, int); -extern UDI SLLDI (UDI, int); -extern DI RORDI (DI, int); -extern DI ROLDI (DI, int); -extern DI ANDDI (DI, DI); -extern DI ORDI (DI, DI); -extern DI XORDI (DI, DI); -extern DI NEGDI (DI); -extern int NOTDI (DI); -extern DI INVDI (DI); -extern int EQDI (DI, DI); -extern int NEDI (DI, DI); -extern int LTDI (DI, DI); -extern int LEDI (DI, DI); -extern int GTDI (DI, DI); -extern int GEDI (DI, DI); -extern int LTUDI (UDI, UDI); -extern int LEUDI (UDI, UDI); -extern int GTUDI (UDI, UDI); -extern int GEUDI (UDI, UDI); -#else /* ! DI_FN_SUPPORT */ -#define ADDDI(x, y) ((x) + (y)) -#define SUBDI(x, y) ((x) - (y)) -#define MULDI(x, y) ((x) * (y)) -#define DIVDI(x, y) ((DI) (x) / (DI) (y)) -#define UDIVDI(x, y) ((UDI) (x) / (UDI) (y)) -#define MODDI(x, y) ((DI) (x) % (DI) (y)) -#define UMODDI(x, y) ((UDI) (x) % (UDI) (y)) -#define SRADI(x, y) ((DI) (x) >> (y)) -#define SRLDI(x, y) ((UDI) (x) >> (y)) -#define SLLDI(x, y) ((UDI) (x) << (y)) -extern DI RORDI (DI, int); -extern DI ROLDI (DI, int); -#define ANDDI(x, y) ((x) & (y)) -#define ORDI(x, y) ((x) | (y)) -#define XORDI(x, y) ((x) ^ (y)) -#define NEGDI(x) (- (x)) -#define NOTDI(x) (! (DI) (x)) -#define INVDI(x) (~ (x)) -#define ABSDI(x) ((x) < 0 ? -(x) : (x)) -#define EQDI(x, y) ((DI) (x) == (DI) (y)) -#define NEDI(x, y) ((DI) (x) != (DI) (y)) -#define LTDI(x, y) ((DI) (x) < (DI) (y)) -#define LEDI(x, y) ((DI) (x) <= (DI) (y)) -#define GTDI(x, y) ((DI) (x) > (DI) (y)) -#define GEDI(x, y) ((DI) (x) >= (DI) (y)) -#define LTUDI(x, y) ((UDI) (x) < (UDI) (y)) -#define LEUDI(x, y) ((UDI) (x) <= (UDI) (y)) -#define GTUDI(x, y) ((UDI) (x) > (UDI) (y)) -#define GEUDI(x, y) ((UDI) (x) >= (UDI) (y)) -#endif /* DI_FN_SUPPORT */ - -#define EXTBIQI(x) ((QI) (BI) (x)) -#define EXTBIHI(x) ((HI) (BI) (x)) -#define EXTBISI(x) ((SI) (BI) (x)) -#if defined (DI_FN_SUPPORT) -extern DI EXTBIDI (BI); -#else -#define EXTBIDI(x) ((DI) (BI) (x)) -#endif -#define EXTQIHI(x) ((HI) (QI) (x)) -#define EXTQISI(x) ((SI) (QI) (x)) -#if defined (DI_FN_SUPPORT) -extern DI EXTQIDI (QI); -#else -#define EXTQIDI(x) ((DI) (QI) (x)) -#endif -#define EXTHIHI(x) ((HI) (HI) (x)) -#define EXTHISI(x) ((SI) (HI) (x)) -#define EXTSISI(x) ((SI) (SI) (x)) -#if defined (DI_FN_SUPPORT) -extern DI EXTHIDI (HI); -#else -#define EXTHIDI(x) ((DI) (HI) (x)) -#endif -#if defined (DI_FN_SUPPORT) -extern DI EXTSIDI (SI); -#else -#define EXTSIDI(x) ((DI) (SI) (x)) -#endif - -#define ZEXTBIQI(x) ((QI) (BI) (x)) -#define ZEXTBIHI(x) ((HI) (BI) (x)) -#define ZEXTBISI(x) ((SI) (BI) (x)) -#if defined (DI_FN_SUPPORT) -extern DI ZEXTBIDI (BI); -#else -#define ZEXTBIDI(x) ((DI) (BI) (x)) -#endif -#define ZEXTQIHI(x) ((HI) (UQI) (x)) -#define ZEXTQISI(x) ((SI) (UQI) (x)) -#if defined (DI_FN_SUPPORT) -extern DI ZEXTQIDI (QI); -#else -#define ZEXTQIDI(x) ((DI) (UQI) (x)) -#endif -#define ZEXTHISI(x) ((SI) (UHI) (x)) -#define ZEXTHIHI(x) ((HI) (UHI) (x)) -#define ZEXTSISI(x) ((SI) (USI) (x)) -#if defined (DI_FN_SUPPORT) -extern DI ZEXTHIDI (HI); -#else -#define ZEXTHIDI(x) ((DI) (UHI) (x)) -#endif -#if defined (DI_FN_SUPPORT) -extern DI ZEXTSIDI (SI); -#else -#define ZEXTSIDI(x) ((DI) (USI) (x)) -#endif - -#define TRUNCQIBI(x) ((BI) (QI) (x)) -#define TRUNCHIBI(x) ((BI) (HI) (x)) -#define TRUNCHIQI(x) ((QI) (HI) (x)) -#define TRUNCSIBI(x) ((BI) (SI) (x)) -#define TRUNCSIQI(x) ((QI) (SI) (x)) -#define TRUNCSIHI(x) ((HI) (SI) (x)) -#define TRUNCSISI(x) ((SI) (SI) (x)) -#if defined (DI_FN_SUPPORT) -extern BI TRUNCDIBI (DI); -#else -#define TRUNCDIBI(x) ((BI) (DI) (x)) -#endif -#if defined (DI_FN_SUPPORT) -extern QI TRUNCDIQI (DI); -#else -#define TRUNCDIQI(x) ((QI) (DI) (x)) -#endif -#if defined (DI_FN_SUPPORT) -extern HI TRUNCDIHI (DI); -#else -#define TRUNCDIHI(x) ((HI) (DI) (x)) -#endif -#if defined (DI_FN_SUPPORT) -extern SI TRUNCDISI (DI); -#else -#define TRUNCDISI(x) ((SI) (DI) (x)) -#endif - -/* Composing/decomposing the various types. - Word ordering is endian-independent. Words are specified most to least - significant and word number 0 is the most significant word. - ??? May also wish an endian-dependent version. Later. */ - -QI SUBWORDSIQI (SI, int); -HI SUBWORDSIHI (SI, int); -QI SUBWORDDIQI (DI, int); -HI SUBWORDDIHI (DI, int); -SI SUBWORDDISI (DI, int); - -#ifdef SEMOPS_DEFINE_INLINE - -SEMOPS_INLINE QI -SUBWORDSIQI (SI in, int byte) -{ - assert (byte >= 0 && byte <= 3); - return (UQI) (in >> (8 * (3 - byte))) & 0xFF; -} - -SEMOPS_INLINE HI -SUBWORDSIHI (SI in, int word) -{ - if (word == 0) - return (USI) in >> 16; - else - return in; -} - -SEMOPS_INLINE QI -SUBWORDDIQI (DI in, int byte) -{ - assert (byte >= 0 && byte <= 7); - return (UQI) (in >> (8 * (7 - byte))) & 0xFF; -} - -SEMOPS_INLINE HI -SUBWORDDIHI (DI in, int word) -{ - assert (word >= 0 && word <= 3); - return (UHI) (in >> (16 * (3 - word))) & 0xFFFF; -} - -SEMOPS_INLINE SI -SUBWORDDISI (DI in, int word) -{ - if (word == 0) - return (UDI) in >> 32; - else - return in; -} - -#endif /* SUBWORD,JOIN */ - -#endif /* CGEN_BASIC_OPS_H */ diff --git a/include/cgen/bitset.h b/include/cgen/bitset.h deleted file mode 100644 index 7a6a99304..000000000 --- a/include/cgen/bitset.h +++ /dev/null @@ -1,56 +0,0 @@ -/* Header file the type CGEN_BITSET. - Copyright 2002, 2005, 2009 Free Software Foundation, Inc. - - This file is part of the GNU opcodes library. - - This library 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, or (at your option) - any later version. - - It 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 library; see the file COPYING3. If not, write to the - Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA - 02110-1301, USA. */ - -#ifndef CGEN_BITSET_H -#define CGEN_BITSET_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* A bitmask represented as a string. - Each member of the set is represented as a bit - in the string. Bytes are indexed from left to right in the string and - bits from most significant to least within each byte. - - For example, the bit representing member number 6 is (set->bits[0] & 0x02). -*/ -typedef struct cgen_bitset -{ - unsigned length; - char *bits; -} CGEN_BITSET; - -extern CGEN_BITSET *cgen_bitset_create PARAMS ((unsigned)); -extern void cgen_bitset_init PARAMS ((CGEN_BITSET *, unsigned)); -extern void cgen_bitset_clear PARAMS ((CGEN_BITSET *)); -extern void cgen_bitset_add PARAMS ((CGEN_BITSET *, unsigned)); -extern void cgen_bitset_set PARAMS ((CGEN_BITSET *, unsigned)); -extern int cgen_bitset_compare PARAMS ((CGEN_BITSET *, CGEN_BITSET *)); -extern void cgen_bitset_union PARAMS ((CGEN_BITSET *, CGEN_BITSET *, CGEN_BITSET *)); -extern int cgen_bitset_intersect_p PARAMS ((CGEN_BITSET *, CGEN_BITSET *)); -extern int cgen_bitset_contains PARAMS ((CGEN_BITSET *, unsigned)); -extern CGEN_BITSET *cgen_bitset_copy PARAMS ((CGEN_BITSET *)); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif diff --git a/include/som/ChangeLog b/include/som/ChangeLog deleted file mode 100644 index f55a41726..000000000 --- a/include/som/ChangeLog +++ /dev/null @@ -1,7 +0,0 @@ -2010-06-10 Tristan Gingold <gingold@adacore.com> - - * aout.h: New file. - * clock.h: Likewise. - * lst.h: Likewise. - * reloc.h: Likewise. - * internal.h: Likewise. diff --git a/include/som/aout.h b/include/som/aout.h deleted file mode 100644 index c3845edf6..000000000 --- a/include/som/aout.h +++ /dev/null @@ -1,249 +0,0 @@ -/* SOM a.out definitions for BFD. - Copyright 2010 Free Software Foundation, Inc. - Contributed 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 _SOM_AOUT_H -#define _SOM_AOUT_H - -#include "clock.h" - -/* Note: SOM uses bit-field in its structure. All you need to know is: - - CPUs supported by SOM (hppa) are big-endian, - - the MSB is numbered 0. */ - -struct som_external_header -{ - unsigned char system_id[2]; - unsigned char a_magic[2]; - unsigned char version_id[4]; - struct som_external_clock file_time; - unsigned char entry_space[4]; - unsigned char entry_subspace[4]; - unsigned char entry_offset[4]; - unsigned char aux_header_location[4]; - unsigned char aux_header_size[4]; - unsigned char som_length[4]; - unsigned char presumed_dp[4]; - unsigned char space_location[4]; - unsigned char space_total[4]; - unsigned char subspace_location[4]; - unsigned char subspace_total[4]; - unsigned char loader_fixup_location[4]; - unsigned char loader_fixup_total[4]; - unsigned char space_strings_location[4]; - unsigned char space_strings_size[4]; - unsigned char init_array_location[4]; - unsigned char init_array_total[4]; - unsigned char compiler_location[4]; - unsigned char compiler_total[4]; - unsigned char symbol_location[4]; - unsigned char symbol_total[4]; - unsigned char fixup_request_location[4]; - unsigned char fixup_request_total[4]; - unsigned char symbol_strings_location[4]; - unsigned char symbol_strings_size[4]; - unsigned char unloadable_sp_location[4]; - unsigned char unloadable_sp_size[4]; - unsigned char checksum[4]; -}; - -#define OLD_VERSION_ID 85082112 -#define NEW_VERSION_ID 87102412 - -#define EXECLIBMAGIC 0x0104 -#define RELOC_MAGIC 0x0106 -#define EXEC_MAGIC 0x0107 -#define SHARE_MAGIC 0x0108 -#define SHMEM_MAGIC 0x0109 -#define DEMAND_MAGIC 0x010b -#define DL_MAGIC 0x010d -#define SHL_MAGIC 0x010e - -struct som_external_aux_id -{ - unsigned char flags[4]; - unsigned char length[4]; -}; - -/* Aux id types. */ -#define VERSION_AUX_ID 6 -#define COPYRIGHT_AUX_ID 9 - -/* Aux id flags. */ -#define SOM_AUX_ID_MANDATORY (1 << 31) -#define SOM_AUX_ID_COPY (1 << 30) -#define SOM_AUX_ID_APPEND (1 << 29) -#define SOM_AUX_ID_IGNORE (1 << 28) -#define SOM_AUX_ID_TYPE_SH 0 -#define SOM_AUX_ID_TYPE_MASK 0xffff - -struct som_external_string_auxhdr -{ - struct som_external_aux_id header_id; - - /* Length of the string, without the NUL. */ - unsigned char string_length[4]; - - /* The string. */ -}; - -struct som_external_exec_auxhdr -{ - struct som_external_aux_id som_auxhdr; - - unsigned char exec_tsize[4]; - unsigned char exec_tmem[4]; - unsigned char exec_tfile[4]; - unsigned char exec_dsize[4]; - unsigned char exec_dmem[4]; - unsigned char exec_dfile[4]; - unsigned char exec_bsize[4]; - unsigned char exec_entry[4]; - unsigned char exec_flags[4]; - unsigned char exec_bfill[4]; -}; - -#define AUX_HDR_SIZE sizeof (struct som_external_exec_auxhdr) - -struct som_external_space_dictionary_record -{ - unsigned char name[4]; - unsigned char flags[4]; - unsigned char space_number[4]; - unsigned char subspace_index[4]; - unsigned char subspace_quantity[4]; - unsigned char loader_fix_index[4]; - unsigned char loader_fix_quantity[4]; - unsigned char init_pointer_index[4]; - unsigned char init_pointer_quantity[4]; -}; - -#define SOM_SPACE_IS_LOADABLE (1 << 31) -#define SOM_SPACE_IS_DEFINED (1 << 30) -#define SOM_SPACE_IS_PRIVATE (1 << 29) -#define SOM_SPACE_HAS_INTERMEDIATE_CODE (1 << 28) -#define SOM_SPACE_IS_TSPECIFIC (1 << 27) -#define SOM_SPACE_SORT_KEY_SH 8 -#define SOM_SPACE_SORT_KEY_MASK 0xff - -struct som_external_subspace_dictionary_record -{ - unsigned char space_index[4]; - unsigned char flags[4]; - unsigned char file_loc_init_value[4]; - unsigned char initialization_length[4]; - unsigned char subspace_start[4]; - unsigned char subspace_length[4]; - unsigned char alignment[4]; - unsigned char name[4]; - unsigned char fixup_request_index[4]; - unsigned char fixup_request_quantity[4]; -}; - -#define SOM_SUBSPACE_ACCESS_CONTROL_BITS_SH 25 -#define SOM_SUBSPACE_ACCESS_CONTROL_BITS_MASK 0x7f -#define SOM_SUBSPACE_MEMORY_RESIDENT (1 << 24) -#define SOM_SUBSPACE_DUP_COMMON (1 << 23) -#define SOM_SUBSPACE_IS_COMMON (1 << 22) -#define SOM_SUBSPACE_IS_LOADABLE (1 << 21) -#define SOM_SUBSPACE_QUADRANT_SH 19 -#define SOM_SUBSPACE_QUADRANT_MASK 0x3 -#define SOM_SUBSPACE_INITIALLY_FROZEN (1 << 18) -#define SOM_SUBSPACE_IS_FIRST (1 << 17) -#define SOM_SUBSPACE_CODE_ONLY (1 << 16) -#define SOM_SUBSPACE_SORT_KEY_SH 8 -#define SOM_SUBSPACE_SORT_KEY_MASK 0xff -#define SOM_SUBSPACE_REPLICATE_INIT (1 << 7) -#define SOM_SUBSPACE_CONTINUATION (1 << 6) -#define SOM_SUBSPACE_IS_TSPECIFIC (1 << 5) -#define SOM_SUBSPACE_IS_COMDAT (1 << 4) - -struct som_external_compilation_unit -{ - unsigned char name[4]; - unsigned char language_name[4]; - unsigned char product_id[4]; - unsigned char version_id[4]; - unsigned char flags[4]; - struct som_external_clock compile_time; - struct som_external_clock source_time; -}; - -struct som_external_symbol_dictionary_record -{ - unsigned char flags[4]; - unsigned char name[4]; - unsigned char qualifier_name[4]; - unsigned char info[4]; - unsigned char symbol_value[4]; -}; - -/* Flags fields. */ -#define SOM_SYMBOL_HIDDEN (1 << 31) -#define SOM_SYMBOL_SECONDARY_DEF (1 << 30) -#define SOM_SYMBOL_TYPE_SH 24 -#define SOM_SYMBOL_TYPE_MASK 0x3f -#define SOM_SYMBOL_SCOPE_SH 20 -#define SOM_SYMBOL_SCOPE_MASK 0xf -#define SOM_SYMBOL_CHECK_LEVEL_SH 17 -#define SOM_SYMBOL_CHECK_LEVEL_MASK 0x7 -#define SOM_SYMBOL_MUST_QUALIFY (1 << 16) -#define SOM_SYMBOL_INITIALLY_FROZEN (1 << 15) -#define SOM_SYMBOL_MEMORY_RESIDENT (1 << 14) -#define SOM_SYMBOL_IS_COMMON (1 << 13) -#define SOM_SYMBOL_DUP_COMMON (1 << 12) -#define SOM_SYMBOL_XLEAST_SH 10 -#define SOM_SYMBOL_XLEAT_MASK 0x3 -#define SOM_SYMBOL_ARG_RELOC_SH 0 -#define SOM_SYMBOL_ARG_RELOC_MASK 0x3ff - -/* Info fields. */ -#define SOM_SYMBOL_HAS_LONG_RETURN (1 << 31) -#define SOM_SYMBOL_NO_RELOCATION (1 << 30) -#define SOM_SYMBOL_IS_COMDAT (1 << 29) -#define SOM_SYMBOL_SYMBOL_INFO_SH 0 -#define SOM_SYMBOL_SYMBOL_INFO_MASK 0xffffff - -/* Symbol type definition. */ -#define ST_NULL 0 -#define ST_ABSOLUTE 1 -#define ST_DATA 2 -#define ST_CODE 3 -#define ST_PRI_PROG 4 -#define ST_SEC_PROG 5 -#define ST_ENTRY 6 -#define ST_STORAGE 7 -#define ST_STUB 8 -#define ST_MODULE 9 -#define ST_SYM_EXT 10 -#define ST_ARG_EXT 11 -#define ST_MILLICODE 12 -#define ST_PLABEL 13 -#define ST_OCT_DIS 14 -#define ST_MILLI_EXT 15 -#define ST_TSTORAGE 16 -#define ST_COMDAT 17 - -/* Symbol scope. */ -#define SS_UNSAT 0 -#define SS_EXTERNAL 1 -#define SS_LOCAL 2 -#define SS_UNIVERSAL 3 - -#endif /* _SOM_AOUT_H */ diff --git a/include/som/clock.h b/include/som/clock.h deleted file mode 100644 index e2a7ba6d4..000000000 --- a/include/som/clock.h +++ /dev/null @@ -1,30 +0,0 @@ -/* SOM clock definition for BFD. - Copyright 2010 Free Software Foundation, Inc. - Contributed 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 _SOM_CLOCK_H -#define _SOM_CLOCK_H - -struct som_external_clock -{ - unsigned char secs[4]; - unsigned char nanosecs[4]; -}; - -#endif /* _SOM_CLOCK_H */ diff --git a/include/som/internal.h b/include/som/internal.h deleted file mode 100644 index e3889fb59..000000000 --- a/include/som/internal.h +++ /dev/null @@ -1,206 +0,0 @@ -/* SOM internal definitions for BFD. - Copyright 2010 Free Software Foundation, Inc. - Contributed 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 _SOM_INTERNAL_H -#define _SOM_INTERNAL_H - -struct som_clock -{ - unsigned int secs; - unsigned int nanosecs; -}; - -struct som_header -{ - unsigned short system_id; - unsigned short a_magic; - unsigned int version_id; - struct som_clock file_time; - unsigned int entry_space; - unsigned int entry_subspace; - unsigned int entry_offset; - unsigned int aux_header_location; - unsigned int aux_header_size; - unsigned int som_length; - unsigned int presumed_dp; - unsigned int space_location; - unsigned int space_total; - unsigned int subspace_location; - unsigned int subspace_total; - unsigned int loader_fixup_location; - unsigned int loader_fixup_total; - unsigned int space_strings_location; - unsigned int space_strings_size; - unsigned int init_array_location; - unsigned int init_array_total; - unsigned int compiler_location; - unsigned int compiler_total; - unsigned int symbol_location; - unsigned int symbol_total; - unsigned int fixup_request_location; - unsigned int fixup_request_total; - unsigned int symbol_strings_location; - unsigned int symbol_strings_size; - unsigned int unloadable_sp_location; - unsigned int unloadable_sp_size; - unsigned int checksum; -}; - -struct som_aux_id -{ - unsigned int mandatory : 1; - unsigned int copy : 1; - unsigned int append : 1; - unsigned int ignore : 1; - unsigned int reserved : 12; - - /* Header type. */ - unsigned int type : 16; - - /* Length of the header in bytes, without the two word identifier. */ - unsigned int length; -}; - -/* Generic auxiliary string header. */ -struct som_string_auxhdr -{ - struct som_aux_id header_id; - - /* Length of the string, without the NUL. */ - unsigned int string_length; - - /* The string. */ - char string[1]; -}; - -struct som_name_pt -{ - char *name; - unsigned int strx; -}; - -struct som_compilation_unit -{ - /* Source file that produced the SOM. */ - struct som_name_pt name; - - /* Name of the language used when creating this SOM. */ - struct som_name_pt language_name; - - /* Identificaton of the compiler. */ - struct som_name_pt product_id; - - /* Version id of the compiler. */ - struct som_name_pt version_id; - - unsigned int flags; - struct som_clock compile_time; - struct som_clock source_time; -}; - -struct som_exec_auxhdr -{ - struct som_aux_id som_auxhdr; - - long exec_tsize; - long exec_tmem; - long exec_tfile; - long exec_dsize; - long exec_dmem; - long exec_dfile; - long exec_bsize; - long exec_entry; - long exec_flags; - long exec_bfill; -}; - -struct som_space_dictionary_record -{ - unsigned int name; - unsigned int is_loadable : 1; - unsigned int is_defined : 1; - unsigned int is_private : 1; - unsigned int has_intermediate_code : 1; - unsigned int is_tspecific : 1; - unsigned int reserved : 11; - unsigned int sort_key : 8; - unsigned int reserved2 : 8; - int space_number; - int subspace_index; - unsigned int subspace_quantity; - int loader_fix_index; - unsigned int loader_fix_quantity; - int init_pointer_index; - unsigned int init_pointer_quantity; -}; - -struct som_subspace_dictionary_record -{ - int space_index; - unsigned int access_control_bits : 7; - unsigned int memory_resident : 1; - unsigned int dup_common : 1; - unsigned int is_common : 1; - unsigned int is_loadable : 1; - unsigned int quadrant : 2; - unsigned int initially_frozen : 1; - unsigned int is_first : 1; - unsigned int code_only : 1; - unsigned int sort_key : 8; - unsigned int replicate_init : 1; - unsigned int continuation : 1; - unsigned int is_tspecific : 1; - unsigned int is_comdat : 1; - unsigned int reserved : 4; - int file_loc_init_value; - unsigned int initialization_length; - unsigned int subspace_start; - unsigned int subspace_length; - unsigned int reserved2 : 5; - unsigned int alignment : 27; - unsigned int name; - int fixup_request_index; - unsigned int fixup_request_quantity; -}; - -struct som_lst_header -{ - unsigned short system_id; - unsigned short a_magic; - unsigned int version_id; - struct som_clock file_time; - unsigned int hash_loc; - unsigned int hash_size; - unsigned int module_count; - unsigned int module_limit; - unsigned int dir_loc; - unsigned int export_loc; - unsigned int export_count; - unsigned int import_loc; - unsigned int aux_loc; - unsigned int aux_size; - unsigned int string_loc; - unsigned int string_size; - unsigned int free_list; - unsigned int file_end; - unsigned int checksum; -}; - -#endif /* _SOM_INTERNAL_H */ diff --git a/include/som/lst.h b/include/som/lst.h deleted file mode 100644 index 6088b47c4..000000000 --- a/include/som/lst.h +++ /dev/null @@ -1,93 +0,0 @@ -/* SOM lst definitions for BFD. - Copyright 2010 Free Software Foundation, Inc. - Contributed 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 _SOM_LST_H -#define _SOM_LST_H - -#include "clock.h" - -/* See 4.2 Libraray Symbol Table Header Record. */ -struct som_external_lst_header -{ - unsigned char system_id[2]; - unsigned char a_magic[2]; - unsigned char version_id[4]; - struct som_external_clock file_time; - unsigned char hash_loc[4]; - unsigned char hash_size[4]; - unsigned char module_count[4]; - unsigned char module_limit[4]; - unsigned char dir_loc[4]; - unsigned char export_loc[4]; - unsigned char export_count[4]; - unsigned char import_loc[4]; - unsigned char aux_loc[4]; - unsigned char aux_size[4]; - unsigned char string_loc[4]; - unsigned char string_size[4]; - unsigned char free_list[4]; - unsigned char file_end[4]; - unsigned char checksum[4]; -}; - -#define VERSION_ID 85082112 -#define LIBMAGIC 0x0619 -#define LIBMAGIC_EXEC 0x0104 - -struct som_external_lst_symbol_record -{ - unsigned char flags[4]; - unsigned char name[4]; - unsigned char qualifier_name[4]; - unsigned char symbol_info[4]; - unsigned char symbol_value[4]; - unsigned char symbol_descriptor[4]; - unsigned char reserved; - unsigned char max_num_args; - unsigned char min_num_args; - unsigned char num_args; - unsigned char som_index[4]; - unsigned char symbol_key[4]; - unsigned char next_entry[4]; -}; - -/* Fields of flags. */ -#define LST_SYMBOL_HIDDEN (1 << 31) -#define LST_SYMBOL_SECONDARY_DEF (1 << 30) -#define LST_SYMBOL_SYMBOL_TYPE_SH 24 -#define LST_SYMBOL_SYMBOL_SCOPE_SH 20 -#define LST_SYMBOL_CHECK_LEVEL_SH 17 -#define LST_SYMBOL_MUST_QUALIFY (1 << 16) -#define LST_SYMBOL_INITIALY_FROZEN (1 << 15) -#define LST_SYMBOL_MEMORY_RESIDENT (1 << 14) -#define LST_SYMBOL_IS_COMMON (1 << 13) -#define LST_SYMBOL_DUP_COMMON (1 << 12) -#define LST_SYMBOL_XLEAST_SH 10 -#define LST_SYMBOL_ARG_RELOC_SH 0 - -/* According to 4.3.2 SOM Directory. */ - -struct som_external_som_entry -{ - unsigned char location[4]; - unsigned char length[4]; -}; - -#endif /* _SOM_LST_H */ diff --git a/include/som/reloc.h b/include/som/reloc.h deleted file mode 100644 index 417b5ee1a..000000000 --- a/include/som/reloc.h +++ /dev/null @@ -1,79 +0,0 @@ -/* SOM relocation definitions for BFD. - Copyright 2010 Free Software Foundation, Inc. - Contributed 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 _SOM_RELOC_H -#define _SOM_RELOC_H - -#define R_NO_RELOCATION 0 -#define R_ZEROES 0x20 -#define R_UNINIT 0x22 -#define R_RELOCATION 0x24 -#define R_DATA_ONE_SYMBOL 0x25 -#define R_DATA_PLABEL 0x27 -#define R_SPACE_REF 0x29 -#define R_REPEATED_INIT 0x2a -#define R_PCREL_CALL 0x30 -#define R_SHORT_PCREL_MODE 0x3e -#define R_LONG_PCREL_MODE 0x3f -#define R_ABS_CALL 0x40 -#define R_DP_RELATIVE 0x50 -#define R_DATA_GPREL 0x72 -#define R_INDIRECT_CALL 0x76 -#define R_PLT_REL 0x77 -#define R_DLT_REL 0x78 -#define R_CODE_ONE_SYMBOL 0x80 -#define R_MILLI_REL 0xae -#define R_CODE_PLABEL 0xb0 -#define R_BREAKPOINT 0xb2 -#define R_ENTRY 0xb3 -#define R_ALT_ENTRY 0xb5 -#define R_EXIT 0xb6 -#define R_BEGIN_TRY 0xb7 -#define R_END_TRY 0xb8 -#define R_BEGIN_BRTAB 0xbb -#define R_END_BRTAB 0xbc -#define R_STATEMENT 0xbd -#define R_DATA_EXPR 0xc0 -#define R_CODE_EXPR 0xc1 -#define R_FSEL 0xc2 -#define R_LSEL 0xc3 -#define R_RSEL 0xc4 -#define R_N_MODE 0xc5 -#define R_S_MODE 0xc6 -#define R_D_MODE 0xc7 -#define R_R_MODE 0xc8 -#define R_DATA_OVERRIDE 0xc9 -#define R_TRANSLATED 0xce -#define R_AUX_UNWIND 0xcf -#define R_COMP1 0xd0 -#define R_COMP2 0xd1 -#define R_COMP3 0xd2 -#define R_PREV_FIXUP 0xd3 -#define R_SEC_STMT 0xd7 -#define R_N0SEL 0xd8 -#define R_N1SEL 0xd9 -#define R_LINETAB 0xda -#define R_LINETAB_ESC 0xdb -#define R_LTP_OVERRIDE 0xdc -#define R_COMMENT 0xdd -#define R_TP_OVERRIDE 0xde -#define R_RESERVED 0xdf - -#endif /* _SOM_RELOC_H */ diff --git a/include/vms/ChangeLog b/include/vms/ChangeLog deleted file mode 100644 index 788d8d80c..000000000 --- a/include/vms/ChangeLog +++ /dev/null @@ -1,70 +0,0 @@ -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. diff --git a/include/vms/dcx.h b/include/vms/dcx.h deleted file mode 100644 index b6f373ab5..000000000 --- a/include/vms/dcx.h +++ /dev/null @@ -1,50 +0,0 @@ -/* 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 */ diff --git a/include/vms/dmt.h b/include/vms/dmt.h deleted file mode 100644 index f2aad6e99..000000000 --- a/include/vms/dmt.h +++ /dev/null @@ -1,48 +0,0 @@ -/* 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 */ diff --git a/include/vms/dsc.h b/include/vms/dsc.h deleted file mode 100644 index 5a1b0e238..000000000 --- a/include/vms/dsc.h +++ /dev/null @@ -1,129 +0,0 @@ -/* 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 */ diff --git a/include/vms/dst.h b/include/vms/dst.h deleted file mode 100644 index 231d39708..000000000 --- a/include/vms/dst.h +++ /dev/null @@ -1,274 +0,0 @@ -/* 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 */ diff --git a/include/vms/eeom.h b/include/vms/eeom.h deleted file mode 100644 index 807e44855..000000000 --- a/include/vms/eeom.h +++ /dev/null @@ -1,62 +0,0 @@ -/* 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 */ diff --git a/include/vms/egps.h b/include/vms/egps.h deleted file mode 100644 index e92df810b..000000000 --- a/include/vms/egps.h +++ /dev/null @@ -1,64 +0,0 @@ -/* 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 */ diff --git a/include/vms/egsd.h b/include/vms/egsd.h deleted file mode 100644 index f9be3981a..000000000 --- a/include/vms/egsd.h +++ /dev/null @@ -1,60 +0,0 @@ -/* 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 */ diff --git a/include/vms/egst.h b/include/vms/egst.h deleted file mode 100644 index d4244842e..000000000 --- a/include/vms/egst.h +++ /dev/null @@ -1,39 +0,0 @@ -/* 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 */ diff --git a/include/vms/egsy.h b/include/vms/egsy.h deleted file mode 100644 index dd36ab218..000000000 --- a/include/vms/egsy.h +++ /dev/null @@ -1,54 +0,0 @@ -/* 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 */ diff --git a/include/vms/eiaf.h b/include/vms/eiaf.h deleted file mode 100644 index c3c39884c..000000000 --- a/include/vms/eiaf.h +++ /dev/null @@ -1,80 +0,0 @@ -/* 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 */ diff --git a/include/vms/eicp.h b/include/vms/eicp.h deleted file mode 100644 index 9c769f768..000000000 --- a/include/vms/eicp.h +++ /dev/null @@ -1,38 +0,0 @@ -/* 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 */ diff --git a/include/vms/eidc.h b/include/vms/eidc.h deleted file mode 100644 index 987e8c24e..000000000 --- a/include/vms/eidc.h +++ /dev/null @@ -1,49 +0,0 @@ -/* 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/eiha.h b/include/vms/eiha.h deleted file mode 100644 index 5965ef979..000000000 --- a/include/vms/eiha.h +++ /dev/null @@ -1,54 +0,0 @@ -/* 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 */ diff --git a/include/vms/eihd.h b/include/vms/eihd.h deleted file mode 100644 index fdb3a6ec7..000000000 --- a/include/vms/eihd.h +++ /dev/null @@ -1,145 +0,0 @@ -/* 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 */ diff --git a/include/vms/eihi.h b/include/vms/eihi.h deleted file mode 100644 index 97d3d8958..000000000 --- a/include/vms/eihi.h +++ /dev/null @@ -1,50 +0,0 @@ -/* 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 */ diff --git a/include/vms/eihs.h b/include/vms/eihs.h deleted file mode 100644 index cf048b13d..000000000 --- a/include/vms/eihs.h +++ /dev/null @@ -1,62 +0,0 @@ -/* 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 */ diff --git a/include/vms/eihvn.h b/include/vms/eihvn.h deleted file mode 100644 index 07f9eeed2..000000000 --- a/include/vms/eihvn.h +++ /dev/null @@ -1,58 +0,0 @@ -/* 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 */ diff --git a/include/vms/eisd.h b/include/vms/eisd.h deleted file mode 100644 index 7579e72b8..000000000 --- a/include/vms/eisd.h +++ /dev/null @@ -1,118 +0,0 @@ -/* 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 */ diff --git a/include/vms/emh.h b/include/vms/emh.h deleted file mode 100644 index 973d71ea6..000000000 --- a/include/vms/emh.h +++ /dev/null @@ -1,79 +0,0 @@ -/* 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 */ diff --git a/include/vms/eobjrec.h b/include/vms/eobjrec.h deleted file mode 100644 index 985fda782..000000000 --- a/include/vms/eobjrec.h +++ /dev/null @@ -1,48 +0,0 @@ -/* 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 */ diff --git a/include/vms/esdf.h b/include/vms/esdf.h deleted file mode 100644 index 79ee3d610..000000000 --- a/include/vms/esdf.h +++ /dev/null @@ -1,41 +0,0 @@ -/* 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 */ diff --git a/include/vms/esdfm.h b/include/vms/esdfm.h deleted file mode 100644 index e00e44a13..000000000 --- a/include/vms/esdfm.h +++ /dev/null @@ -1,49 +0,0 @@ -/* 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 */ diff --git a/include/vms/esdfv.h b/include/vms/esdfv.h deleted file mode 100644 index fae0dbc18..000000000 --- a/include/vms/esdfv.h +++ /dev/null @@ -1,49 +0,0 @@ -/* 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 */ diff --git a/include/vms/esgps.h b/include/vms/esgps.h deleted file mode 100644 index e668a8748..000000000 --- a/include/vms/esgps.h +++ /dev/null @@ -1,72 +0,0 @@ -/* 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 */ diff --git a/include/vms/esrf.h b/include/vms/esrf.h deleted file mode 100644 index 291250c96..000000000 --- a/include/vms/esrf.h +++ /dev/null @@ -1,36 +0,0 @@ -/* 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 */ diff --git a/include/vms/etir.h b/include/vms/etir.h deleted file mode 100644 index 4d922dc3e..000000000 --- a/include/vms/etir.h +++ /dev/null @@ -1,114 +0,0 @@ -/* 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 */ diff --git a/include/vms/internal.h b/include/vms/internal.h deleted file mode 100644 index 1c8c47245..000000000 --- a/include/vms/internal.h +++ /dev/null @@ -1,63 +0,0 @@ -/* 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 */ diff --git a/include/vms/lbr.h b/include/vms/lbr.h deleted file mode 100644 index bdb436aa7..000000000 --- a/include/vms/lbr.h +++ /dev/null @@ -1,329 +0,0 @@ -/* 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. */ - unsigned char freidxblk[4]; - 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 */ diff --git a/include/vms/prt.h b/include/vms/prt.h deleted file mode 100644 index 8b8d27b56..000000000 --- a/include/vms/prt.h +++ /dev/null @@ -1,43 +0,0 @@ -/* 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 */ diff --git a/include/vms/shl.h b/include/vms/shl.h deleted file mode 100644 index d1d9fae92..000000000 --- a/include/vms/shl.h +++ /dev/null @@ -1,55 +0,0 @@ -/* 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 */ |