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

Subversion Repositories eco32

[/] [eco32/] [trunk/] [binutils/] [include/] [a.out.h] - Blame information for rev 302

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 7 hellwig
/*
2
 * a.out.h -- structure of linkable object and executable files
3
 */
4
 
5
 
6
#ifndef _A_OUT_H_
7
#define _A_OUT_H_
8
 
9
 
10
#define EXEC_MAGIC      0x1AA09232
11
 
12
#define METHOD_H16      0        /* write 16 bits with high part of value */
13
#define METHOD_L16      1       /* write 16 bits with low part of value */
14
#define METHOD_R16      2       /* write 16 bits with value relative to PC */
15
#define METHOD_R26      3       /* write 26 bits with value relative to PC */
16
#define METHOD_W32      4       /* write full 32 bit word with value */
17
 
18
#define SEGMENT_ABS     0        /* absolute values */
19
#define SEGMENT_CODE    1       /* code segment */
20
#define SEGMENT_DATA    2       /* initialized data segment */
21
#define SEGMENT_BSS     3       /* uninitialized data segment */
22
 
23
 
24
typedef struct {
25
  unsigned int magic;           /* must be EXEC_MAGIC */
26
  unsigned int csize;           /* size of code in bytes */
27
  unsigned int dsize;           /* size of initialized data in bytes */
28
  unsigned int bsize;           /* size of uninitialized data in bytes */
29
  unsigned int crsize;          /* size of code relocation info in bytes */
30
  unsigned int drsize;          /* size of data relocation info in bytes */
31
  unsigned int symsize;         /* size of symbol table in bytes */
32
  unsigned int strsize;         /* size of string space in bytes */
33
} ExecHeader;
34
 
35
typedef struct {
36
  unsigned int offset;          /* where to relocate */
37
  int method;                   /* how to relocate */
38
  int value;                    /* additive part of value */
39
  int base;                     /* if MSB = 0: segment number */
40
                                /* if MSB = 1: symbol table index */
41
} RelocRecord;
42
 
43
typedef struct {
44
  unsigned int name;            /* offset in string space */
45
  int type;                     /* if MSB = 0: the symbol's segment */
46
                                /* if MSB = 1: the symbol is undefined */
47
  int value;                    /* if symbol defined: the symbol's value */
48
                                /* if symbol not defined: meaningless */
49
} SymbolRecord;
50
 
51
 
52
#endif /* _A_OUT_H_ */

powered by: WebSVN 2.1.0

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