Ignore:
Timestamp:
Aug 16, 2003, 6:59:22 PM (22 years ago)
Author:
bird
Message:

binutils v2.14 - offical sources.

Location:
branches/GNU/src/binutils/include/aout
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/GNU/src/binutils/include/aout/ChangeLog

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.1.1.2
    r608 r609  
    1 2001-06-07  Alan Modra  <amodra@bigpond.net.au>
    2 
    3         * Many files: Update copyright notices.
    4 
    5 Mon Apr  3 13:29:08 2000  Hans-Peter Nilsson  <hp@axis.com>
     12003-03-06  Elias Athanasopoulos  <elathan@phys.uoa.gr>
     2
     3        * aout64.h (BYTES_IN_WORD): Define if necessary.
     4
     52001-09-18  Alan Modra  <amodra@bigpond.net.au>
     6
     7        * aout64.h: Formatting fixes.
     8        (N_TXTADDR): Evaluate to a bfd_vma.
     9        (N_DATADDR): Avoid negative unsigned warning.
     10        * hp300hpux.h: Formatting fixes.
     11        (N_DATADDR): Avoid negative unsigned warning.
     12
     132000-04-03  Hans-Peter Nilsson  <hp@axis.com>
    614
    715        * aout64.h (RELOC_EXT_BITS_EXTERN_BIG): Wrap definition in #ifndef.
     
    1725        defined as 0.
    1826
    19 Sun Jun 28 11:33:48 1998  Peter Schauer  <pes@regent.e-technik.tu-muenchen.de>
     271998-06-28  Peter Schauer  <pes@regent.e-technik.tu-muenchen.de>
    2028
    2129        * stab.def:  Add N_ALIAS from SunPro F77.
    2230
    23 Mon Mar 11 12:15:52 1996  Ian Lance Taylor  <ian@cygnus.com>
     311996-03-11  Ian Lance Taylor  <ian@cygnus.com>
    2432
    2533        * stab.def: Use __define_stab_duplicate rather than __define_stab
     
    2836        stab.def.
    2937
    30 Fri Oct 27 17:47:16 1995  Niklas Hallqvist  <niklas@appli.se>
     381995-10-27  Niklas Hallqvist  <niklas@appli.se>
    3139
    3240        * aout64.h, host.h, hp300hpux.h, sun4.h: Changed PAGE_SIZE to
    3341        TARGET_PAGE_SIZE.
    3442
    35 Tue Sep 12 12:07:02 1995  Ian Lance Taylor  <ian@cygnus.com>
     431995-09-12  Ian Lance Taylor  <ian@cygnus.com>
    3644
    3745        * sun4.h (struct internal_sun4_dynamic_link): Change all fields
    3846        from long to unsigned long.
    3947
    40 Wed Jul 12 00:15:13 1995  Ken Raeburn  <raeburn@kr-pc.cygnus.com>
     481995-07-12  Ken Raeburn  <raeburn@kr-pc.cygnus.com>
    4149
    4250        * sun4.h (PAGE_SIZE): Undefine before defining.
    4351
    44 Thu Jun 16 14:22:55 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
     521994-09-04  Richard Earnshaw (rwe@pegasus.esprit.ec.org)
     53
     54        * aout64.h: Only define QMAGIC if it isn't already defined.
     55
     561994-06-16  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
    4557
    4658        * aout64.h (BMAGIC): Define.
    4759
    48 Sat Jun 11 16:16:09 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
     601994-06-11  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
    4961
    5062        Add weak symbols as an extension to a.out.
     
    5264        * stab.def: Update symbol value table.
    5365
    54 Thu Jun  2 17:13:38 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
     661994-06-02  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
    5567
    5668        * sun4.h (EXTERNAL_SUN4_DYNAMIC_DEBUGGER_SIZE): Correct from 28 to
    5769        24.  Fix up ld_got comment.
    5870
    59 Wed Mar 30 00:31:49 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
     711994-03-30  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
    6072
    6173        * dynix3.h:  Cleanup, adapt to current bfd version.
    6274
    63 Sat Feb 26 10:25:53 1994  Ian Lance Taylor  (ian@cygnus.com)
     751994-02-26  Ian Lance Taylor  (ian@cygnus.com)
    6476
    6577        * aout64.h: Add casts to avoid warnings from SVR4 cc.
    6678
    67 Fri Feb 11 12:56:04 1994  Stan Shebs  (shebs@andros.cygnus.com)
     791994-02-11  Stan Shebs  (shebs@andros.cygnus.com)
    6880
    6981        * ar.h (ARMAG, ARMAGB, ARFMAG): Change '\n' to '\012', for greater
    7082        portability.
    7183
    72 Fri Jan 21 00:59:06 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
     841994-01-21  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
    7385
    7486        * sun4.h: Added information about SunOS shared libraries.
    7587
    76 Fri Jan  7 08:20:13 1994  Jim Kingdon  (kingdon@deneb.cygnus.com)
     881994-01-07  Jim Kingdon  (kingdon@deneb.cygnus.com)
    7789
    7890        * aout64.h (N_TXTADDR): Add comment regarding OMAGIC and NMAGIC.
    7991
    80 Sat Dec 25 14:55:41 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)
     921993-12-25  Jim Kingdon  (kingdon@lioth.cygnus.com)
    8193
    8294        * aout64.h (N_DATOFF): Don't pad (revert change of 8 Jul 1993).
    8395
    84 Tue Nov 16 15:43:46 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)
     961993-11-16  Jim Kingdon  (kingdon@lioth.cygnus.com)
    8597
    8698        * aout64.h: New macros ZMAGIC_DISK_BLOCK_SIZE and N_DISK_BLOCK_SIZE
     
    88100        (N_TXTOFF, N_DATOFF): Use them.
    89101
    90 Thu Nov  4 00:33:48 1993  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
     1021993-11-04  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
    91103
    92104        * aout64.h (RELOC_STD_BITS_RELATIVE_LITTLE): Fixed value to match
     
    94106        (RELOC_STD_BITS_JMPTABLE_LITTLE): Likewise.
    95107
    96 Wed Nov  3 13:48:27 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
     1081993-11-03  David J. Mackenzie  (djm@thepub.cygnus.com)
    97109
    98110        * aout64.h (RELOC_STD_BITS_BASEREL_LITTLE): Make it 0x10 (Ken's
    99111        suggestion) to avoid conflict with RELOC_STD_BITS_EXTERN_LITTLE.
    100112
    101 Fri Oct 29 15:09:52 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
     1131993-10-29  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
    102114
    103115        * hp300hpux.h (N_SHARED_LIB): Define to be 0.
    104116
    105 Mon Sep 13 21:00:56 1993  John Gilmore  (gnu@cygnus.com)
     1171993-09-13  John Gilmore  (gnu@cygnus.com)
    106118
    107119        * ar.h (ARMAP_TIME_OFFSET):  Add and describe.
     
    111123        * aout64.h [ARCH_SIZE != 64]: Allow N_BADMAG to be overridden.
    112124
    113 Mon Aug 16 14:30:14 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)
     1251993-08-16  Jim Kingdon  (kingdon@lioth.cygnus.com)
    114126
    115127        * stab_gnu.h: Include aout/stab.def not just stab.def.
    116128
    117 Sun Jul 18 21:41:47 1993  Jim Kingdon  (kingdon@rtl.cygnus.com)
     1291993-07-18  Jim Kingdon  (kingdon@rtl.cygnus.com)
    118130
    119131        * dynix3.h: New, for symmetry running dynix.
    120132
    121 Thu Jul  8 12:52:22 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)
     1331993-07-08  Jim Kingdon  (kingdon@lioth.cygnus.com)
    122134
    123135        * aout64.h (N_BADMAG): Recognize QMAGIC.
     
    125137        N_DATOFF: Pad text size if we need to.
    126138
    127 Fri Jun 18 19:19:38 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)
     1391993-06-18  Jim Kingdon  (kingdon@lioth.cygnus.com)
    128140
    129141        * stab.def (N_ECOML): Fix comment.
    130142
    131 Mon May 31 09:21:30 1993  Jim Kingdon  (kingdon@cygnus.com)
     1431993-05-31  Jim Kingdon  (kingdon@cygnus.com)
    132144
    133145        * stab.def: Remove Solaris information on N_FUN stabstring grammar;
    134146        I've transferred it to gdb/doc/stabs.texinfo, where it belongs.
    135147
    136 Mon May 10 05:48:43 1993  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
     1481993-05-10  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
    137149
    138150        * hp300hpux.h: Patch from Glenn Engel for linker problem and
     
    144156        (N_HEADER_IN_TEXT, N_DATADDR): New macros.
    145157
    146 Thu Apr 29 12:07:37 1993  Ken Raeburn  (raeburn@deneb.cygnus.com)
     1581993-04-29  Ken Raeburn  (raeburn@deneb.cygnus.com)
    147159
    148160        * hp300hpux.h: New file from Glenn Engel, glenne@lsid.hp.com.
    149161
    150 Tue Apr 27 05:51:04 1993  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
     1621993-04-27  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
    151163
    152164        * aout64.h (struct external_exec, *MAGIC, N_BADMAG): Don't define
     
    157169        `external_nlist' is already defined as a macro.
    158170
    159 Sat Aug 15 04:23:02 1992  John Gilmore  (gnu@cygnus.com)
     1711992-08-15  John Gilmore  (gnu@cygnus.com)
    160172
    161173        * adobe.h:  Add description of a.out.adobe format.
    162174
    163 Fri Jul  3 00:36:52 1992  John Gilmore  (gnu at cygnus.com)
     1751992-07-03  John Gilmore  (gnu at cygnus.com)
    164176
    165177        * stab.def:  Update more Solaris definitions.
    166178        * stab_gnu.h:  Add N_SO language types, and Solaris basic float types.
    167179
    168 Sun Jun 14 10:53:53 1992  John Gilmore  (gnu at cygnus.com)
     1801992-06-14  John Gilmore  (gnu at cygnus.com)
    169181
    170182        * stab.def:  Update descriptions of Solaris-2 stabs; add N_UNDF.
    171183
    172 Thu Jun 11 01:12:07 1992  John Gilmore  (gnu at cygnus.com)
     1841992-06-11  John Gilmore  (gnu at cygnus.com)
    173185
    174186        * stab.def:  Add N_OBJ and N_OPT from Solaris-2.
    175187
    176 Thu Jan 30 18:12:44 1992  John Gilmore  (gnu at cygnus.com)
    177 
    178         * aout/aout64.h: N_TXTSIZE needs some more parentheses.
     1881992-01-30  John Gilmore  (gnu at cygnus.com)
     189
     190        * aout64.h: N_TXTSIZE needs some more parentheses.
    179191        I don't trust C precedence.
    180192
    181 Wed Dec 18 14:32:01 1991  Per Bothner  (bothner at cygnus.com)
    182 
    183         * aout/aout64.h:  Move common sunos-specific test
     1931991-12-18  Per Bothner  (bothner at cygnus.com)
     194
     195        * aout64.h:  Move common sunos-specific test
    184196        to recognize shared libraries into new macro N_SHARED_LIB.
    185         Use it to simplify&reformat N_TXTADDR, N_TXTOFF, N_TXTSIZE.
    186 
    187 Sat Nov 30 20:34:52 1991  Steve Chamberlain  (sac at rtl.cygnus.com)
    188 
    189         * ChangeLog, aout64.h, ar.h, encap.h, host.h, hp.h, ranlib.h,
    190         reloc.h, stab.def, stab_gnu.h, sun4.h: All moved from the
    191         devo/include directory
     197        Use it to simplify & reformat N_TXTADDR, N_TXTOFF, N_TXTSIZE.
     198
     1991991-11-30  Steve Chamberlain  (sac at rtl.cygnus.com)
     200
     201        * aout64.h, ar.h, encap.h, host.h, hp.h, ranlib.h, reloc.h,
     202        stab.def, stab_gnu.h, sun4.h: All moved from the devo/include
     203        directory.
    192204
    193205
  • branches/GNU/src/binutils/include/aout/aout64.h

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.1.1.2
    r608 r609  
    11/* `a.out' object-file definitions, including extensions to 64-bit fields
    22
    3    Copyright 2001 Free Software Foundation, Inc.
     3   Copyright 2001, 2003 Free Software Foundation, Inc.
    44
    55   This program is free software; you can redistribute it and/or modify
     
    2020#define __A_OUT_64_H__
    2121
    22 /* This is the layout on disk of the 32-bit or 64-bit exec header. */
     22#ifndef BYTES_IN_WORD
     23#define BYTES_IN_WORD 4
     24#endif
     25
     26/* This is the layout on disk of the 32-bit or 64-bit exec header.  */
    2327
    2428#ifndef external_exec
    2529struct external_exec
    2630{
    27   bfd_byte e_info[4];           /* magic number and stuff               */
    28   bfd_byte e_text[BYTES_IN_WORD]; /* length of text section in bytes    */
    29   bfd_byte e_data[BYTES_IN_WORD]; /* length of data section in bytes    */
    30   bfd_byte e_bss[BYTES_IN_WORD]; /* length of bss area in bytes                 */
    31   bfd_byte e_syms[BYTES_IN_WORD]; /* length of symbol table in bytes    */
    32   bfd_byte e_entry[BYTES_IN_WORD]; /* start address                     */
    33   bfd_byte e_trsize[BYTES_IN_WORD]; /* length of text relocation info   */
    34   bfd_byte e_drsize[BYTES_IN_WORD]; /* length of data relocation info   */
     31  bfd_byte e_info[4];               /* Magic number and stuff.  */
     32  bfd_byte e_text[BYTES_IN_WORD];   /* Length of text section in bytes.  */
     33  bfd_byte e_data[BYTES_IN_WORD];   /* Length of data section in bytes.  */
     34  bfd_byte e_bss[BYTES_IN_WORD];    /* Length of bss area in bytes.  */
     35  bfd_byte e_syms[BYTES_IN_WORD];   /* Length of symbol table in bytes.  */
     36  bfd_byte e_entry[BYTES_IN_WORD];  /* Start address.  */
     37  bfd_byte e_trsize[BYTES_IN_WORD]; /* Length of text relocation info.  */
     38  bfd_byte e_drsize[BYTES_IN_WORD]; /* Length of data relocation info.  */
    3539};
    3640
    3741#define EXEC_BYTES_SIZE (4 + BYTES_IN_WORD * 7)
    3842
    39 /* Magic numbers for a.out files */
     43/* Magic numbers for a.out files. */
    4044
    4145#if ARCH_SIZE==64
    42 #define OMAGIC 0x1001           /* Code indicating object file  */
     46#define OMAGIC 0x1001           /* Code indicating object file.  */
    4347#define ZMAGIC 0x1002           /* Code indicating demand-paged executable.  */
    4448#define NMAGIC 0x1003           /* Code indicating pure executable.  */
     
    5054                        && N_MAGIC(x) != ZMAGIC)
    5155#else
    52 #define OMAGIC 0407             /* ...object file or impure executable.  */
     56#define OMAGIC 0407             /* Object file or impure executable.  */
    5357#define NMAGIC 0410             /* Code indicating pure executable.  */
    5458#define ZMAGIC 0413             /* Code indicating demand-paged executable.  */
     
    127131    * QMAGIC is always like a ZMAGIC for which N_HEADER_IN_TEXT is true,
    128132    and for which the starting address is TARGET_PAGE_SIZE (or should this be
    129     SEGMENT_SIZE?) (TEXT_START_ADDR only applies to ZMAGIC, not to QMAGIC).
    130     */
     133    SEGMENT_SIZE?) (TEXT_START_ADDR only applies to ZMAGIC, not to QMAGIC).  */
    131134
    132135/* This macro is only relevant for ZMAGIC files; QMAGIC always has the header
    133136   in the text.  */
    134137#ifndef N_HEADER_IN_TEXT
    135 #define N_HEADER_IN_TEXT(x) (((x).a_entry & (TARGET_PAGE_SIZE-1)) >= EXEC_BYTES_SIZE)
     138#define N_HEADER_IN_TEXT(x) \
     139  (((x).a_entry & (TARGET_PAGE_SIZE-1)) >= EXEC_BYTES_SIZE)
    136140#endif
    137141
     
    153157#ifndef N_TXTADDR
    154158#define N_TXTADDR(x) \
    155     (/* The address of a QMAGIC file is always one page in, */ \
    156      /* with the header in the text.  */ \
    157      N_IS_QMAGIC (x) ? TARGET_PAGE_SIZE + EXEC_BYTES_SIZE : \
    158      N_MAGIC(x) != ZMAGIC ? 0 : /* object file or NMAGIC */\
    159      N_SHARED_LIB(x) ? 0 :      \
    160      N_HEADER_IN_TEXT(x)  ?     \
    161             TEXT_START_ADDR + EXEC_BYTES_SIZE : /* no padding */\
    162             TEXT_START_ADDR                     /* a page of padding */\
    163     )
     159    (/* The address of a QMAGIC file is always one page in,             \
     160        with the header in the text.  */                                \
     161     N_IS_QMAGIC (x)                                                    \
     162     ? (bfd_vma) TARGET_PAGE_SIZE + EXEC_BYTES_SIZE                     \
     163     : (N_MAGIC (x) != ZMAGIC                                           \
     164        ? (bfd_vma) 0   /* Object file or NMAGIC.  */                   \
     165        : (N_SHARED_LIB (x)                                             \
     166           ? (bfd_vma) 0                                                \
     167           : (N_HEADER_IN_TEXT (x)                                      \
     168              ? (bfd_vma) TEXT_START_ADDR + EXEC_BYTES_SIZE             \
     169              : (bfd_vma) TEXT_START_ADDR))))
    164170#endif
    165171
     
    179185/* Offset in an a.out of the start of the text section. */
    180186#ifndef N_TXTOFF
    181 #define N_TXTOFF(x)     \
    182     (/* For {O,N,Q}MAGIC, no padding.  */ \
    183      N_MAGIC(x) != ZMAGIC ? EXEC_BYTES_SIZE : \
    184      N_SHARED_LIB(x) ? 0 : \
    185      N_HEADER_IN_TEXT(x) ?      \
    186             EXEC_BYTES_SIZE :                   /* no padding */\
    187             ZMAGIC_DISK_BLOCK_SIZE              /* a page of padding */\
    188     )
     187#define N_TXTOFF(x)                                                     \
     188    (/* For {O,N,Q}MAGIC, no padding.  */                               \
     189     N_MAGIC (x) != ZMAGIC                                              \
     190     ? EXEC_BYTES_SIZE                                                  \
     191     : (N_SHARED_LIB (x)                                                \
     192        ? 0                                                             \
     193        : (N_HEADER_IN_TEXT (x)                                         \
     194           ? EXEC_BYTES_SIZE            /* No padding.  */              \
     195           : ZMAGIC_DISK_BLOCK_SIZE     /* A page of padding.  */)))
    189196#endif
    190197/* Size of the text section.  It's always as stated, except that we
     
    195202#ifndef N_TXTSIZE
    196203#define N_TXTSIZE(x) \
    197     (/* For QMAGIC, we don't consider the header part of the text section.  */\
    198      N_IS_QMAGIC (x) ? (x).a_text - EXEC_BYTES_SIZE : \
    199      (N_MAGIC(x) != ZMAGIC || N_SHARED_LIB(x)) ? (x).a_text : \
    200      N_HEADER_IN_TEXT(x)  ?     \
    201             (x).a_text - EXEC_BYTES_SIZE:       /* no padding */\
    202             (x).a_text                          /* a page of padding */\
    203     )
     204  (/* For QMAGIC, we don't consider the header part of the text section.  */\
     205   N_IS_QMAGIC (x)                                                      \
     206   ? (x).a_text - EXEC_BYTES_SIZE                                       \
     207   : ((N_MAGIC (x) != ZMAGIC || N_SHARED_LIB (x))                       \
     208      ? (x).a_text                                                      \
     209      : (N_HEADER_IN_TEXT (x)                                           \
     210         ? (x).a_text - EXEC_BYTES_SIZE /* No padding.  */              \
     211         : (x).a_text                   /* A page of padding.  */ )))
    204212#endif
    205213/* The address of the data segment in virtual memory.
    206214   It is the text segment address, plus text segment size, rounded
    207    up to a N_SEGSIZE boundary for pure or pageable files. */
     215   up to a N_SEGSIZE boundary for pure or pageable files.  */
    208216#ifndef N_DATADDR
    209217#define N_DATADDR(x) \
    210     (N_MAGIC(x)==OMAGIC? (N_TXTADDR(x)+N_TXTSIZE(x)) \
    211      :  (N_SEGSIZE(x) + ((N_TXTADDR(x)+N_TXTSIZE(x)-1) & ~(N_SEGSIZE(x)-1))))
     218  (N_MAGIC (x) == OMAGIC                                                \
     219   ? (N_TXTADDR (x) + N_TXTSIZE (x))                                    \
     220   : (N_SEGSIZE (x) + ((N_TXTADDR (x) + N_TXTSIZE (x) - 1)              \
     221                       & ~ (bfd_vma) (N_SEGSIZE (x) - 1))))
    212222#endif
    213223/* The address of the BSS segment -- immediately after the data segment.  */
    214224
    215 #define N_BSSADDR(x)    (N_DATADDR(x) + (x).a_data)
     225#define N_BSSADDR(x)    (N_DATADDR (x) + (x).a_data)
    216226
    217227/* Offsets of the various portions of the file after the text segment.  */
     
    230240
    231241#ifndef N_DATOFF
    232 #define N_DATOFF(x) \
    233  (N_TXTOFF(x) + N_TXTSIZE(x))
    234 #endif
    235 
     242#define N_DATOFF(x)     (N_TXTOFF (x) + N_TXTSIZE (x))
     243#endif
    236244#ifndef N_TRELOFF
    237 #define N_TRELOFF(x)    ( N_DATOFF(x) + (x).a_data )
     245#define N_TRELOFF(x)    (N_DATOFF (x) + (x).a_data)
    238246#endif
    239247#ifndef N_DRELOFF
    240 #define N_DRELOFF(x)    ( N_TRELOFF(x) + (x).a_trsize )
     248#define N_DRELOFF(x)    (N_TRELOFF (x) + (x).a_trsize)
    241249#endif
    242250#ifndef N_SYMOFF
    243 #define N_SYMOFF(x)     ( N_DRELOFF(x) + (x).a_drsize )
     251#define N_SYMOFF(x)     (N_DRELOFF (x) + (x).a_drsize)
    244252#endif
    245253#ifndef N_STROFF
    246 #define N_STROFF(x)     ( N_SYMOFF(x) + (x).a_syms )
     254#define N_STROFF(x)     (N_SYMOFF (x) + (x).a_syms)
    247255#endif
    248256
     
    250258/* Symbols */
    251259#ifndef external_nlist
    252 struct external_nlist {
    253   bfd_byte e_strx[BYTES_IN_WORD];       /* index into string table of name */
    254   bfd_byte e_type[1];                   /* type of symbol */
    255   bfd_byte e_other[1];                  /* misc info (usually empty) */
    256   bfd_byte e_desc[2];                   /* description field */
    257   bfd_byte e_value[BYTES_IN_WORD];      /* value of symbol */
     260struct external_nlist
     261{
     262  bfd_byte e_strx[BYTES_IN_WORD];       /* Index into string table of name.  */
     263  bfd_byte e_type[1];                   /* Type of symbol.  */
     264  bfd_byte e_other[1];                  /* Misc info (usually empty).  */
     265  bfd_byte e_desc[2];                   /* Description field.  */
     266  bfd_byte e_value[BYTES_IN_WORD];      /* Value of symbol.  */
    258267};
    259268#define EXTERNAL_NLIST_SIZE (BYTES_IN_WORD+4+BYTES_IN_WORD)
    260269#endif
    261270
    262 struct internal_nlist {
    263   unsigned long n_strx;                 /* index into string table of name */
    264   unsigned char n_type;                 /* type of symbol */
    265   unsigned char n_other;                /* misc info (usually empty) */
    266   unsigned short n_desc;                /* description field */
    267   bfd_vma n_value;                      /* value of symbol */
     271struct internal_nlist
     272{
     273  unsigned long n_strx;                 /* Index into string table of name.  */
     274  unsigned char n_type;                 /* Type of symbol.  */
     275  unsigned char n_other;                /* Misc info (usually empty).  */
     276  unsigned short n_desc;                /* Description field.  */
     277  bfd_vma n_value;                      /* Value of symbol.  */
    268278};
    269279
    270280/* The n_type field is the symbol type, containing:  */
    271281
    272 #define N_UNDF  0       /* Undefined symbol */
    273 #define N_ABS   2       /* Absolute symbol -- defined at particular addr */
    274 #define N_TEXT  4       /* Text sym -- defined at offset in text seg */
    275 #define N_DATA  6       /* Data sym -- defined at offset in data seg */
    276 #define N_BSS   8       /* BSS  sym -- defined at offset in zero'd seg */
    277 #define N_COMM  0x12    /* Common symbol (visible after shared lib dynlink) */
    278 #define N_FN    0x1f    /* File name of .o file */
    279 #define N_FN_SEQ 0x0C   /* N_FN from Sequent compilers (sigh) */
     282#define N_UNDF  0       /* Undefined symbol. */
     283#define N_ABS   2       /* Absolute symbol -- defined at particular addr. */
     284#define N_TEXT  4       /* Text sym -- defined at offset in text seg. */
     285#define N_DATA  6       /* Data sym -- defined at offset in data seg. */
     286#define N_BSS   8       /* BSS  sym -- defined at offset in zero'd seg. */
     287#define N_COMM  0x12    /* Common symbol (visible after shared lib dynlink). */
     288#define N_FN    0x1f    /* File name of .o file. */
     289#define N_FN_SEQ 0x0C   /* N_FN from Sequent compilers (sigh). */
    280290/* Note: N_EXT can only be usefully OR-ed with N_UNDF, N_ABS, N_TEXT,
    281291   N_DATA, or N_BSS.  When the low-order bit of other types is set,
    282292   (e.g. N_WARNING versus N_FN), they are two different types.  */
    283 #define N_EXT   1       /* External symbol (as opposed to local-to-this-file) */
     293#define N_EXT   1       /* External symbol (as opposed to local-to-this-file). */
    284294#define N_TYPE  0x1e
    285 #define N_STAB  0xe0    /* If any of these bits are on, it's a debug symbol */
     295#define N_STAB  0xe0    /* If any of these bits are on, it's a debug symbol. */
    286296
    287297#define N_INDR 0x0a
     
    299309
    300310/* These appear as input to LD, in a .o file.  */
    301 #define N_SETA  0x14            /* Absolute set element symbol */
    302 #define N_SETT  0x16            /* Text set element symbol */
    303 #define N_SETD  0x18            /* Data set element symbol */
    304 #define N_SETB  0x1A            /* Bss set element symbol */
     311#define N_SETA  0x14            /* Absolute set element symbol. */
     312#define N_SETT  0x16            /* Text set element symbol. */
     313#define N_SETD  0x18            /* Data set element symbol. */
     314#define N_SETB  0x1A            /* Bss set element symbol. */
    305315
    306316/* This is output from LD.  */
     
    333343  the target with a displacement of 16 or 32 bits. On the sparc, move
    334344  instructions use an offset of 14 bits, so the offset is stored in
    335   the reloc field, and the data in the section is ignored.
    336 */
     345  the reloc field, and the data in the section is ignored.  */
    337346
    338347/* This structure describes a single relocation to be performed.
     
    341350   Likewise, the data-relocation section applies to the data section.  */
    342351
    343 struct reloc_std_external {
    344   bfd_byte      r_address[BYTES_IN_WORD];       /* offset of of data to relocate        */
    345   bfd_byte r_index[3];  /* symbol table index of symbol         */
    346   bfd_byte r_type[1];   /* relocation type                      */
     352struct reloc_std_external
     353{
     354  bfd_byte r_address[BYTES_IN_WORD];    /* Offset of of data to relocate.  */
     355  bfd_byte r_index[3];                  /* Symbol table index of symbol.  */
     356  bfd_byte r_type[1];                   /* Relocation type.  */
    347357};
    348358
     
    367377#define RELOC_STD_BITS_RELATIVE_LITTLE  ((unsigned int) 0x40)
    368378
    369 #define RELOC_STD_SIZE  (BYTES_IN_WORD + 3 + 1)         /* Bytes per relocation entry */
     379#define RELOC_STD_SIZE  (BYTES_IN_WORD + 3 + 1)         /* Bytes per relocation entry. */
    370380
    371381struct reloc_std_internal
     
    390400  /* The next three bits are for SunOS shared libraries, and seem to
    391401     be undocumented.  */
    392   unsigned int r_baserel:1;     /* Linkage table relative */
    393   unsigned int r_jmptable:1;    /* pc-relative to jump table */
    394   unsigned int r_relative:1;    /* "relative relocation" */
     402  unsigned int r_baserel:1;     /* Linkage table relative. */
     403  unsigned int r_jmptable:1;    /* pc-relative to jump table. */
     404  unsigned int r_relative:1;    /* "relative relocation". */
    395405  /* unused */
    396   unsigned int r_pad:1;         /* Padding -- set to zero */
    397 };
    398 
    399 
    400 /* EXTENDED RELOCS  */
    401 
    402 struct reloc_ext_external {
    403   bfd_byte r_address[BYTES_IN_WORD];    /* offset of of data to relocate        */
    404   bfd_byte r_index[3];  /* symbol table index of symbol         */
    405   bfd_byte r_type[1];   /* relocation type                      */
    406   bfd_byte r_addend[BYTES_IN_WORD];     /* datum addend                         */
     406  unsigned int r_pad:1;         /* Padding -- set to zero.  */
     407};
     408
     409
     410/* EXTENDED RELOCS.   */
     411
     412struct reloc_ext_external
     413{
     414  bfd_byte r_address[BYTES_IN_WORD];    /* Offset of of data to relocate.  */
     415  bfd_byte r_index[3];                  /* Symbol table index of symbol.  */
     416  bfd_byte r_type[1];                   /* Relocation type.  */
     417  bfd_byte r_addend[BYTES_IN_WORD];     /* Datum addend.  */
    407418};
    408419
     
    431442#endif
    432443
    433 /* Bytes per relocation entry */
     444/* Bytes per relocation entry. */
    434445#define RELOC_EXT_SIZE  (BYTES_IN_WORD + 3 + 1 + BYTES_IN_WORD)
    435446
    436447enum reloc_type
    437448{
    438   /* simple relocations */
     449  /* Simple relocations. */
    439450  RELOC_8,                      /* data[0:7] = addend + sv              */
    440451  RELOC_16,                     /* data[0:15] = addend + sv             */
    441452  RELOC_32,                     /* data[0:31] = addend + sv             */
    442   /* pc-rel displacement */
     453  /* PC-rel displacement. */
    443454  RELOC_DISP8,                  /* data[0:7] = addend - pc + sv         */
    444455  RELOC_DISP16,                 /* data[0:15] = addend - pc + sv        */
    445456  RELOC_DISP32,                 /* data[0:31] = addend - pc + sv        */
    446   /* Special */
     457  /* Special. */
    447458  RELOC_WDISP30,                /* data[0:29] = (addend + sv - pc)>>2   */
    448459  RELOC_WDISP22,                /* data[0:21] = (addend + sv - pc)>>2   */
     
    453464  RELOC_SFA_BASE,               
    454465  RELOC_SFA_OFF13,
    455   /* P.I.C. (base-relative) */
     466  /* P.I.C. (base-relative). */
    456467  RELOC_BASE10,                 /* Not sure - maybe we can do this the */
    457468  RELOC_BASE13,                 /* right way now */
    458469  RELOC_BASE22,
    459   /* for some sort of pc-rel P.I.C. (?) */
     470  /* For some sort of pc-rel P.I.C. (?) */
    460471  RELOC_PC10,
    461472  RELOC_PC22,
    462   /* P.I.C. jump table */
     473  /* P.I.C. jump table. */
    463474  RELOC_JMP_TBL,
    464   /* reputedly for shared libraries somehow */
     475  /* Reputedly for shared libraries somehow. */
    465476  RELOC_SEGOFF16,
    466477  RELOC_GLOB_DAT,
     
    474485  RELOC_HLO10,                  /* data[0:9] = (addend + sv) >> 32      */
    475486 
    476   /* 29K relocation types */
     487  /* 29K relocation types. */
    477488  RELOC_JUMPTARG,
    478489  RELOC_CONST,
    479490  RELOC_CONSTH,
    480491 
    481   /* All the new ones I can think of, for sparc v9 */
    482 
     492  /* All the new ones I can think of, for sparc v9.  */
    483493  RELOC_64,                     /* data[0:63] = addend + sv             */
    484494  RELOC_DISP64,                 /* data[0:63] = addend - pc + sv        */
     
    490500     Since this is a clean slate, can we throw away the ones we dont
    491501     understand ? Should we sort the values ? What about using a
    492      microcode format like the 68k ?
    493      */
     502     microcode format like the 68k ?  */
    494503  NO_RELOC
    495504  };
    496505
    497506
    498 struct reloc_internal {
    499   bfd_vma r_address;            /* offset of of data to relocate        */
    500   long  r_index;                /* symbol table index of symbol         */
    501   enum reloc_type r_type;       /* relocation type                      */
    502   bfd_vma r_addend;             /* datum addend                         */
     507struct reloc_internal
     508{
     509  bfd_vma r_address;            /* Offset of of data to relocate.  */
     510  long  r_index;                /* Symbol table index of symbol.  */
     511  enum reloc_type r_type;       /* Relocation type.  */
     512  bfd_vma r_addend;             /* Datum addend.  */
    503513};
    504514
     
    507517
    508518   Q.
    509    What about archive indexes ?
    510 
    511  */
     519   What about archive indexes ?  */
    512520
    513521#endif                          /* __A_OUT_64_H__ */
  • branches/GNU/src/binutils/include/aout/dynix3.h

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.1.1.2
    r608 r609  
    2323
    2424/* struct exec for Dynix 3
    25  *
    26  * a_gdtbl and a_bootstrap are only for standalone binaries.
    27  * Shared data fields are not supported by the kernel as of Dynix 3.1,
    28  * but are supported by Dynix compiler programs.
    29  */
    30 struct dynix_external_exec {
    31         unsigned char e_info[4];
    32         unsigned char e_text[4];
    33         unsigned char e_data[4];
    34         unsigned char e_bss[4];
    35         unsigned char e_syms[4];
    36         unsigned char e_entry[4];
    37         unsigned char e_trsize[4];
    38         unsigned char e_drsize[4];
    39         unsigned char e_g_code[8], e_g_data[8], e_g_desc[8];
    40         unsigned char e_shdata[4];
    41         unsigned char e_shbss[4];
    42         unsigned char e_shdrsize[4];
    43         unsigned char e_bootstrap[44];
    44         unsigned char e_reserved[12];
    45         unsigned char e_version[4];
    46 };
     25 
     26   a_gdtbl and a_bootstrap are only for standalone binaries.
     27   Shared data fields are not supported by the kernel as of Dynix 3.1,
     28   but are supported by Dynix compiler programs.  */
     29struct dynix_external_exec
     30  {
     31    unsigned char e_info[4];
     32    unsigned char e_text[4];
     33    unsigned char e_data[4];
     34    unsigned char e_bss[4];
     35    unsigned char e_syms[4];
     36    unsigned char e_entry[4];
     37    unsigned char e_trsize[4];
     38    unsigned char e_drsize[4];
     39    unsigned char e_g_code[8];
     40    unsigned char e_g_data[8];
     41    unsigned char e_g_desc[8];
     42    unsigned char e_shdata[4];
     43    unsigned char e_shbss[4];
     44    unsigned char e_shdrsize[4];
     45    unsigned char e_bootstrap[44];
     46    unsigned char e_reserved[12];
     47    unsigned char e_version[4];
     48  };
    4749
    4850#define EXEC_BYTES_SIZE (128)
    4951
    50 /*
    51  * All executables under Dynix are demand paged with read-only text,
    52  * Thus no NMAGIC.
    53  *
    54  * ZMAGIC has a page of 0s at virtual 0,
    55  * XMAGIC has an invalid page at virtual 0
    56  */
     52/* All executables under Dynix are demand paged with read-only text,
     53   Thus no NMAGIC.
     54 
     55   ZMAGIC has a page of 0s at virtual 0,
     56   XMAGIC has an invalid page at virtual 0.  */
    5757#define OMAGIC  0x12eb          /* .o */
    5858#define ZMAGIC  0x22eb          /* zero @ 0, demand load */
  • branches/GNU/src/binutils/include/aout/hp300hpux.h

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.1.1.2
    r608 r609  
    11/* Special version of <a.out.h> for use under hp-ux.
    2    Copyright 1988, 1993, 1995 Free Software Foundation, Inc. */
     2   Copyright 1988, 1993, 1995, 2001 Free Software Foundation, Inc. */
    33
    44struct hp300hpux_exec_bytes
     
    7474
    7575#define N_DATADDR(x) \
    76     ((N_MAGIC(x)==OMAGIC || N_MAGIC(x)==HPUX_DOT_O_MAGIC) ? \
    77         (N_TXTADDR(x)+N_TXTSIZE(x)) \
    78      :  (N_SEGSIZE(x) + ((N_TXTADDR(x)+N_TXTSIZE(x)-1) & ~(N_SEGSIZE(x)-1))))
     76  ((N_MAGIC (x) == OMAGIC || N_MAGIC (x) == HPUX_DOT_O_MAGIC)           \
     77   ? (N_TXTADDR (x) + N_TXTSIZE (x))                                    \
     78   : (N_SEGSIZE (x) + ((N_TXTADDR (x) + N_TXTSIZE (x) - 1)              \
     79                       & ~ (bfd_vma) (N_SEGSIZE (x) - 1))))
    7980
    80 #define _N_BADMACH(x)                                                   \
    81 (((N_MACHTYPE (x)) != HP9000S200_ID) &&                                 \
    82  ((N_MACHTYPE (x)) != HP98x6_ID))
     81#define _N_BADMACH(x) \
     82  (((N_MACHTYPE (x)) != HP9000S200_ID) && ((N_MACHTYPE (x)) != HP98x6_ID))
    8383
    8484#define _N_BADMAG(x)      (N_MAGIC(x) != HPUX_DOT_O_MAGIC \
Note: See TracChangeset for help on using the changeset viewer.