Update year range in copyright notice of binutils files
[external/binutils.git] / include / aout / adobe.h
index cf8cfce..33770f9 100644 (file)
@@ -1,6 +1,6 @@
 /* `a.out.adobe' differences from standard a.out files
 
 /* `a.out.adobe' differences from standard a.out files
 
-   Copyright (C) 2001-2015 Free Software Foundation, Inc.
+   Copyright (C) 2001-2018 Free Software Foundation, Inc.
 
    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
 
    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
 
 /* Struct external_exec is the same.  */
 
 
 /* Struct external_exec is the same.  */
 
-/* This is the layout on disk of the 32-bit or 64-bit exec header. */
+/* This is the layout on disk of the 32-bit or 64-bit exec header.  */
 
 struct external_exec 
 {
 
 struct external_exec 
 {
-  bfd_byte e_info[4];          /* magic number and stuff               */
-  bfd_byte e_text[BYTES_IN_WORD]; /* length of text section in bytes   */
-  bfd_byte e_data[BYTES_IN_WORD]; /* length of data section in bytes   */
-  bfd_byte e_bss[BYTES_IN_WORD]; /* length of bss area in bytes        */
-  bfd_byte e_syms[BYTES_IN_WORD]; /* length of symbol table in bytes   */
-  bfd_byte e_entry[BYTES_IN_WORD]; /* start address                    */
-  bfd_byte e_trsize[BYTES_IN_WORD]; /* length of text relocation info  */
-  bfd_byte e_drsize[BYTES_IN_WORD]; /* length of data relocation info  */
+  bfd_byte e_info[4];              /* Magic number and stuff.  */
+  bfd_byte e_text[BYTES_IN_WORD];   /* Length of text section in bytes.  */
+  bfd_byte e_data[BYTES_IN_WORD];   /* Length of data section in bytes.  */
+  bfd_byte e_bss[BYTES_IN_WORD];    /* Length of bss area in bytes.  */
+  bfd_byte e_syms[BYTES_IN_WORD];   /* Length of symbol table in bytes.  */
+  bfd_byte e_entry[BYTES_IN_WORD];  /* Start address.  */
+  bfd_byte e_trsize[BYTES_IN_WORD]; /* Length of text relocation info.  */
+  bfd_byte e_drsize[BYTES_IN_WORD]; /* Length of data relocation info.  */
 };
 
 #define        EXEC_BYTES_SIZE (4 + BYTES_IN_WORD * 7)
 
 };
 
 #define        EXEC_BYTES_SIZE (4 + BYTES_IN_WORD * 7)
 
-/* Magic numbers for a.out files */
+/* Magic numbers for a.out files */
 
 #undef ZMAGIC
 #define        ZMAGIC  0xAD0BE         /* Cute, eh?  */
 
 #undef ZMAGIC
 #define        ZMAGIC  0xAD0BE         /* Cute, eh?  */
@@ -63,18 +63,20 @@ struct external_exec
    The actual text of the segments starts at N_TXTOFF in the file,
    regardless of how many or how few segment headers there are.  */
 
    The actual text of the segments starts at N_TXTOFF in the file,
    regardless of how many or how few segment headers there are.  */
 
-struct external_segdesc {
-       unsigned char e_type[1];
-       unsigned char e_size[3];
-       unsigned char e_virtbase[4];
-       unsigned char e_filebase[4];
+struct external_segdesc
+{
+  unsigned char e_type[1];
+  unsigned char e_size[3];
+  unsigned char e_virtbase[4];
+  unsigned char e_filebase[4];
 };
 
 };
 
-struct internal_segdesc {
-       unsigned int    a_type:8;       /* Segment type N_TEXT, N_DATA, 0 */
-       unsigned int    a_size:24;      /* Segment size */
-       bfd_vma         a_virtbase;     /* Virtual address */
-       unsigned int    a_filebase;     /* Base address in object file */
+struct internal_segdesc
+{
+  unsigned int a_type:8;       /* Segment type N_TEXT, N_DATA, 0.  */
+  unsigned int         a_size:24;      /* Segment size.  */
+  bfd_vma      a_virtbase;     /* Virtual address.  */
+  unsigned int a_filebase;     /* Base address in object file.  */
 };
 
 #define N_TXTADDR(x) is_this_really_unused?
 };
 
 #define N_TXTADDR(x) is_this_really_unused?
@@ -97,41 +99,43 @@ struct internal_segdesc {
 #define N_SYMOFF(x)    ( N_DRELOFF(x) + (x)->a_drsize )
 #define N_STROFF(x)    ( N_SYMOFF(x) + (x)->a_syms )
 \f
 #define N_SYMOFF(x)    ( N_DRELOFF(x) + (x)->a_drsize )
 #define N_STROFF(x)    ( N_SYMOFF(x) + (x)->a_syms )
 \f
-/* Symbols */
-struct external_nlist {
-  bfd_byte e_strx[BYTES_IN_WORD];      /* index into string table of name */
-  bfd_byte e_type[1];                  /* type of symbol */
-  bfd_byte e_other[1];                 /* misc info (usually empty) */
-  bfd_byte e_desc[2];                  /* description field */
-  bfd_byte e_value[BYTES_IN_WORD];     /* value of symbol */
+/* Symbols.  */
+struct external_nlist
+{
+  bfd_byte e_strx[BYTES_IN_WORD];      /* Index into string table of name.  */
+  bfd_byte e_type[1];                  /* Type of symbol.  */
+  bfd_byte e_other[1];                 /* Misc info (usually empty).  */
+  bfd_byte e_desc[2];                  /* Description field.  */
+  bfd_byte e_value[BYTES_IN_WORD];     /* Value of symbol.  */
 };
 
 #define EXTERNAL_NLIST_SIZE (BYTES_IN_WORD+4+BYTES_IN_WORD)
 
 };
 
 #define EXTERNAL_NLIST_SIZE (BYTES_IN_WORD+4+BYTES_IN_WORD)
 
-struct internal_nlist {
-  unsigned long n_strx;                        /* index into string table of name */
-  unsigned char n_type;                        /* type of symbol */
-  unsigned char n_other;               /* misc info (usually empty) */
-  unsigned short n_desc;               /* description field */
-  bfd_vma n_value;                     /* value of symbol */
+struct internal_nlist
+{
+  unsigned long n_strx;                        /* Index into string table of name.  */
+  unsigned char n_type;                        /* Type of symbol.  */
+  unsigned char n_other;               /* Misc info (usually empty).  */
+  unsigned short n_desc;               /* Description field.  */
+  bfd_vma n_value;                     /* Value of symbol.  */
 };
 
 /* The n_type field is the symbol type, containing:  */
 
 };
 
 /* The n_type field is the symbol type, containing:  */
 
-#define N_UNDF 0       /* Undefined symbol */
-#define N_ABS  2       /* Absolute symbol -- defined at particular addr */
-#define N_TEXT         4       /* Text sym -- defined at offset in text seg */
-#define N_DATA         6       /* Data sym -- defined at offset in data seg */
-#define N_BSS  8       /* BSS  sym -- defined at offset in zero'd seg */
-#define        N_COMM  0x12    /* Common symbol (visible after shared lib dynlink) */
-#define N_FN   0x1f    /* File name of .o file */
-#define        N_FN_SEQ 0x0C   /* N_FN from Sequent compilers (sigh) */
+#define N_UNDF 0       /* Undefined symbol */
+#define N_ABS  2       /* Absolute symbol -- defined at particular addr */
+#define N_TEXT         4       /* Text sym -- defined at offset in text seg */
+#define N_DATA         6       /* Data sym -- defined at offset in data seg */
+#define N_BSS  8       /* BSS  sym -- defined at offset in zero'd seg */
+#define        N_COMM  0x12    /* Common symbol (visible after shared lib dynlink) */
+#define N_FN   0x1f    /* File name of .o file */
+#define        N_FN_SEQ 0x0C   /* N_FN from Sequent compilers (sigh) */
 /* Note: N_EXT can only be usefully OR-ed with N_UNDF, N_ABS, N_TEXT,
    N_DATA, or N_BSS.  When the low-order bit of other types is set,
    (e.g. N_WARNING versus N_FN), they are two different types.  */
 /* Note: N_EXT can only be usefully OR-ed with N_UNDF, N_ABS, N_TEXT,
    N_DATA, or N_BSS.  When the low-order bit of other types is set,
    (e.g. N_WARNING versus N_FN), they are two different types.  */
-#define N_EXT  1       /* External symbol (as opposed to local-to-this-file) */
+#define N_EXT  1       /* External symbol (as opposed to local-to-this-file) */
 #define N_TYPE  0x1e
 #define N_TYPE  0x1e
-#define N_STAB         0xe0    /* If any of these bits are on, it's a debug symbol */
+#define N_STAB         0xe0    /* If any of these bits are on, it's a debug symbol */
 
 #define N_INDR 0x0a
 
 
 #define N_INDR 0x0a
 
@@ -147,10 +151,10 @@ struct internal_nlist {
    in that it can satisfy undefined external references.  */
 
 /* These appear as input to LD, in a .o file.  */
    in that it can satisfy undefined external references.  */
 
 /* These appear as input to LD, in a .o file.  */
-#define        N_SETA  0x14            /* Absolute set element symbol */
-#define        N_SETT  0x16            /* Text set element symbol */
-#define        N_SETD  0x18            /* Data set element symbol */
-#define        N_SETB  0x1A            /* Bss set element symbol */
+#define        N_SETA  0x14            /* Absolute set element symbol */
+#define        N_SETT  0x16            /* Text set element symbol */
+#define        N_SETD  0x18            /* Data set element symbol */
+#define        N_SETB  0x1A            /* Bss set element symbol */
 
 /* This is output from LD.  */
 #define N_SETV 0x1C            /* Pointer to set vector in data area.  */
 
 /* This is output from LD.  */
 #define N_SETV 0x1C            /* Pointer to set vector in data area.  */
@@ -170,25 +174,25 @@ struct internal_nlist {
   instructions. Eg, on the 68k, each move instruction can reference
   the target with a displacement of 16 or 32 bits. On the sparc, move
   instructions use an offset of 14 bits, so the offset is stored in
   instructions. Eg, on the 68k, each move instruction can reference
   the target with a displacement of 16 or 32 bits. On the sparc, move
   instructions use an offset of 14 bits, so the offset is stored in
-  the reloc field, and the data in the section is ignored.
-*/
+  the reloc field, and the data in the section is ignored.  */
 
 /* This structure describes a single relocation to be performed.
    The text-relocation section of the file is a vector of these structures,
    all of which apply to the text section.
    Likewise, the data-relocation section applies to the data section.  */
 
 
 /* This structure describes a single relocation to be performed.
    The text-relocation section of the file is a vector of these structures,
    all of which apply to the text section.
    Likewise, the data-relocation section applies to the data section.  */
 
-struct reloc_std_external {
-  bfd_byte r_address[BYTES_IN_WORD];   /* offset of of data to relocate */
-  bfd_byte r_index[3]; /* symbol table index of symbol         */
-  bfd_byte r_type[1];  /* relocation type                      */
+struct reloc_std_external
+{
+  bfd_byte r_address[BYTES_IN_WORD];   /* Offset of data to relocate.  */
+  bfd_byte r_index[3];                 /* Symbol table index of symbol.  */
+  bfd_byte r_type[1];                  /* Relocation type.  */
 };
 
 #define        RELOC_STD_BITS_PCREL_BIG        0x80
 #define        RELOC_STD_BITS_PCREL_LITTLE     0x01
 
 #define        RELOC_STD_BITS_LENGTH_BIG       0x60
 };
 
 #define        RELOC_STD_BITS_PCREL_BIG        0x80
 #define        RELOC_STD_BITS_PCREL_LITTLE     0x01
 
 #define        RELOC_STD_BITS_LENGTH_BIG       0x60
-#define        RELOC_STD_BITS_LENGTH_SH_BIG    5       /* To shift to units place */
+#define        RELOC_STD_BITS_LENGTH_SH_BIG    5       /* To shift to units place */
 #define        RELOC_STD_BITS_LENGTH_LITTLE    0x06
 #define        RELOC_STD_BITS_LENGTH_SH_LITTLE 1
 
 #define        RELOC_STD_BITS_LENGTH_LITTLE    0x06
 #define        RELOC_STD_BITS_LENGTH_SH_LITTLE 1
 
@@ -204,7 +208,7 @@ struct reloc_std_external {
 #define        RELOC_STD_BITS_RELATIVE_BIG     0x02
 #define        RELOC_STD_BITS_RELATIVE_LITTLE  0x02
 
 #define        RELOC_STD_BITS_RELATIVE_BIG     0x02
 #define        RELOC_STD_BITS_RELATIVE_LITTLE  0x02
 
-#define        RELOC_STD_SIZE  (BYTES_IN_WORD + 3 + 1)         /* Bytes per relocation entry */
+#define        RELOC_STD_SIZE  (BYTES_IN_WORD + 3 + 1)         /* Bytes per relocation entry */
 
 struct reloc_std_internal
 {
 
 struct reloc_std_internal
 {
@@ -227,21 +231,22 @@ struct reloc_std_internal
   unsigned int r_extern:1;
   /* The next three bits are for SunOS shared libraries, and seem to
      be undocumented.  */
   unsigned int r_extern:1;
   /* The next three bits are for SunOS shared libraries, and seem to
      be undocumented.  */
-  unsigned int r_baserel:1;    /* Linkage table relative */
-  unsigned int r_jmptable:1;   /* pc-relative to jump table */
-  unsigned int r_relative:1;   /* "relative relocation" */
+  unsigned int r_baserel:1;    /* Linkage table relative */
+  unsigned int r_jmptable:1;   /* pc-relative to jump table */
+  unsigned int r_relative:1;   /* "relative relocation" */
   /* unused */
   /* unused */
-  unsigned int r_pad:1;                /* Padding -- set to zero */
+  unsigned int r_pad:1;                /* Padding -- set to zero */
 };
 
 
 /* EXTENDED RELOCS  */
 
 };
 
 
 /* EXTENDED RELOCS  */
 
-struct reloc_ext_external {
-  bfd_byte r_address[BYTES_IN_WORD];   /* offset of of data to relocate        */
-  bfd_byte r_index[3]; /* symbol table index of symbol         */
-  bfd_byte r_type[1];  /* relocation type                      */
-  bfd_byte r_addend[BYTES_IN_WORD];    /* datum addend                         */
+struct reloc_ext_external
+{
+  bfd_byte r_address[BYTES_IN_WORD];   /* Offset of data to relocate.  */
+  bfd_byte r_index[3];                 /* Symbol table index of symbol.  */
+  bfd_byte r_type[1];                  /* Relocation type.  */
+  bfd_byte r_addend[BYTES_IN_WORD];    /* Datum addend.  */
 };
 
 #define        RELOC_EXT_BITS_EXTERN_BIG       0x80
 };
 
 #define        RELOC_EXT_BITS_EXTERN_BIG       0x80
@@ -257,15 +262,15 @@ struct reloc_ext_external {
 
 enum reloc_type
 {
 
 enum reloc_type
 {
-  /* simple relocations */
+  /* Simple relocations.  */
   RELOC_8,                     /* data[0:7] = addend + sv              */
   RELOC_16,                    /* data[0:15] = addend + sv             */
   RELOC_32,                    /* data[0:31] = addend + sv             */
   RELOC_8,                     /* data[0:7] = addend + sv              */
   RELOC_16,                    /* data[0:15] = addend + sv             */
   RELOC_32,                    /* data[0:31] = addend + sv             */
-  /* pc-rel displacement */
+  /* PC-rel displacement.  */
   RELOC_DISP8,                 /* data[0:7] = addend - pc + sv         */
   RELOC_DISP16,                        /* data[0:15] = addend - pc + sv        */
   RELOC_DISP32,                        /* data[0:31] = addend - pc + sv        */
   RELOC_DISP8,                 /* data[0:7] = addend - pc + sv         */
   RELOC_DISP16,                        /* data[0:15] = addend - pc + sv        */
   RELOC_DISP32,                        /* data[0:31] = addend - pc + sv        */
-  /* Special */
+  /* Special */
   RELOC_WDISP30,               /* data[0:29] = (addend + sv - pc)>>2   */
   RELOC_WDISP22,               /* data[0:21] = (addend + sv - pc)>>2   */
   RELOC_HI22,                  /* data[0:21] = (addend + sv)>>10       */
   RELOC_WDISP30,               /* data[0:29] = (addend + sv - pc)>>2   */
   RELOC_WDISP22,               /* data[0:21] = (addend + sv - pc)>>2   */
   RELOC_HI22,                  /* data[0:21] = (addend + sv)>>10       */
@@ -274,16 +279,16 @@ enum reloc_type
   RELOC_LO10,                  /* data[0:9] = (addend + sv)            */
   RELOC_SFA_BASE,              
   RELOC_SFA_OFF13,
   RELOC_LO10,                  /* data[0:9] = (addend + sv)            */
   RELOC_SFA_BASE,              
   RELOC_SFA_OFF13,
-  /* P.I.C. (base-relative) */
-  RELOC_BASE10,                /* Not sure - maybe we can do this the */
-  RELOC_BASE13,                        /* right way now */
+  /* P.I.C. (base-relative) */
+  RELOC_BASE10,                /* Not sure - maybe we can do this the  */
+  RELOC_BASE13,                        /* right way now */
   RELOC_BASE22,
   RELOC_BASE22,
-  /* for some sort of pc-rel P.I.C. (?) */
+  /* For some sort of pc-rel P.I.C. (?)  */
   RELOC_PC10,
   RELOC_PC22,
   RELOC_PC10,
   RELOC_PC22,
-  /* P.I.C. jump table */
+  /* P.I.C. jump table */
   RELOC_JMP_TBL,
   RELOC_JMP_TBL,
-  /* reputedly for shared libraries somehow */
+  /* Reputedly for shared libraries somehow.  */
   RELOC_SEGOFF16,
   RELOC_GLOB_DAT,
   RELOC_JMP_SLOT,
   RELOC_SEGOFF16,
   RELOC_GLOB_DAT,
   RELOC_JMP_SLOT,
@@ -301,14 +306,14 @@ enum reloc_type
   RELOC_CONSTH,
   
   NO_RELOC
   RELOC_CONSTH,
   
   NO_RELOC
-  };
-
+};
 
 
-struct reloc_internal {
-  bfd_vma r_address;           /* offset of of data to relocate        */
-  long r_index;                /* symbol table index of symbol         */
-  enum reloc_type r_type;      /* relocation type                      */
-  bfd_vma r_addend;            /* datum addend                         */
+struct reloc_internal
+{
+  bfd_vma r_address;           /* Offset of data to relocate.  */
+  long r_index;                /* Symbol table index of symbol.  */
+  enum reloc_type r_type;      /* Relocation type.  */
+  bfd_vma r_addend;            /* Datum addend.  */
 };
 
 };
 
-#endif                         /* __A_OUT_ADOBE_H__ */
+#endif /* __A_OUT_ADOBE_H__ */