OpenCores
URL https://opencores.org/ocsvn/eco32/eco32/trunk

Subversion Repositories eco32

[/] [eco32/] [tags/] [eco32-0.25/] [binutils/] [include/] [a.out.h] - Diff between revs 7 and 248

Only display areas with differences | Details | Blame | View Log

Rev 7 Rev 248
/*
/*
 * a.out.h -- structure of linkable object and executable files
 * a.out.h -- structure of linkable object and executable files
 */
 */
 
 
 
 
#ifndef _A_OUT_H_
#ifndef _A_OUT_H_
#define _A_OUT_H_
#define _A_OUT_H_
 
 
 
 
#define EXEC_MAGIC      0x1AA09232
#define EXEC_MAGIC      0x1AA09232
 
 
#define METHOD_H16      0        /* write 16 bits with high part of value */
#define METHOD_H16      0        /* write 16 bits with high part of value */
#define METHOD_L16      1       /* write 16 bits with low part of value */
#define METHOD_L16      1       /* write 16 bits with low part of value */
#define METHOD_R16      2       /* write 16 bits with value relative to PC */
#define METHOD_R16      2       /* write 16 bits with value relative to PC */
#define METHOD_R26      3       /* write 26 bits with value relative to PC */
#define METHOD_R26      3       /* write 26 bits with value relative to PC */
#define METHOD_W32      4       /* write full 32 bit word with value */
#define METHOD_W32      4       /* write full 32 bit word with value */
 
 
#define SEGMENT_ABS     0        /* absolute values */
#define SEGMENT_ABS     0        /* absolute values */
#define SEGMENT_CODE    1       /* code segment */
#define SEGMENT_CODE    1       /* code segment */
#define SEGMENT_DATA    2       /* initialized data segment */
#define SEGMENT_DATA    2       /* initialized data segment */
#define SEGMENT_BSS     3       /* uninitialized data segment */
#define SEGMENT_BSS     3       /* uninitialized data segment */
 
 
 
 
typedef struct {
typedef struct {
  unsigned int magic;           /* must be EXEC_MAGIC */
  unsigned int magic;           /* must be EXEC_MAGIC */
  unsigned int csize;           /* size of code in bytes */
  unsigned int csize;           /* size of code in bytes */
  unsigned int dsize;           /* size of initialized data in bytes */
  unsigned int dsize;           /* size of initialized data in bytes */
  unsigned int bsize;           /* size of uninitialized data in bytes */
  unsigned int bsize;           /* size of uninitialized data in bytes */
  unsigned int crsize;          /* size of code relocation info in bytes */
  unsigned int crsize;          /* size of code relocation info in bytes */
  unsigned int drsize;          /* size of data relocation info in bytes */
  unsigned int drsize;          /* size of data relocation info in bytes */
  unsigned int symsize;         /* size of symbol table in bytes */
  unsigned int symsize;         /* size of symbol table in bytes */
  unsigned int strsize;         /* size of string space in bytes */
  unsigned int strsize;         /* size of string space in bytes */
} ExecHeader;
} ExecHeader;
 
 
typedef struct {
typedef struct {
  unsigned int offset;          /* where to relocate */
  unsigned int offset;          /* where to relocate */
  int method;                   /* how to relocate */
  int method;                   /* how to relocate */
  int value;                    /* additive part of value */
  int value;                    /* additive part of value */
  int base;                     /* if MSB = 0: segment number */
  int base;                     /* if MSB = 0: segment number */
                                /* if MSB = 1: symbol table index */
                                /* if MSB = 1: symbol table index */
} RelocRecord;
} RelocRecord;
 
 
typedef struct {
typedef struct {
  unsigned int name;            /* offset in string space */
  unsigned int name;            /* offset in string space */
  int type;                     /* if MSB = 0: the symbol's segment */
  int type;                     /* if MSB = 0: the symbol's segment */
                                /* if MSB = 1: the symbol is undefined */
                                /* if MSB = 1: the symbol is undefined */
  int value;                    /* if symbol defined: the symbol's value */
  int value;                    /* if symbol defined: the symbol's value */
                                /* if symbol not defined: meaningless */
                                /* if symbol not defined: meaningless */
} SymbolRecord;
} SymbolRecord;
 
 
 
 
#endif /* _A_OUT_H_ */
#endif /* _A_OUT_H_ */
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.