Commit | Line | Data |
---|---|---|
eb4edf5d RP |
1 | /* |
2 | * This file is obj-generic.h and is intended to be a template for | |
3 | * object format specific header files. | |
4 | */ | |
5 | ||
a39116f1 | 6 | /* define an obj specific macro off which target cpu back ends may key. */ |
eb4edf5d RP |
7 | #define OBJ_GENERIC 1 |
8 | ||
a39116f1 | 9 | /* include whatever target cpu is appropriate. */ |
eb4edf5d RP |
10 | #include "targ-cpu.h" |
11 | ||
12 | /* | |
13 | * SYMBOLS | |
14 | */ | |
15 | ||
16 | /* | |
17 | * If your object format needs to reorder symbols, define this. When | |
18 | * defined, symbols are kept on a doubly linked list and functions are | |
19 | * made available for push, insert, append, and delete. If not defined, | |
20 | * symbols are kept on a singly linked list, only the append and clear | |
21 | * facilities are available, and they are macros. | |
22 | */ | |
23 | ||
a39116f1 | 24 | /* #define SYMBOLS_NEED_PACKPOINTERS */ |
eb4edf5d | 25 | |
a39116f1 | 26 | /* */ |
eb4edf5d RP |
27 | typedef struct { |
28 | void *nothing; | |
29 | } obj_symbol_type; /* should be the format's symbol structure */ | |
30 | ||
31 | typedef void *object_headers; | |
32 | ||
a39116f1 | 33 | /* symbols have names */ |
eb4edf5d RP |
34 | #define S_GET_NAME(s) ("foo") /* get the name of a symbolP */ |
35 | #define S_SET_NAME(s,v) ; | |
a39116f1 | 36 | /* symbols have segments */ |
eb4edf5d RP |
37 | #define S_GET_SEGMENT(s) (SEG_UNKNOWN) |
38 | #define S_SET_SEGMENT(s,v) ; | |
a39116f1 | 39 | /* symbols have a value */ |
eb4edf5d RP |
40 | #define S_GET_VALUE(s) (0) |
41 | #define S_SET_VALUE(s,v) ; | |
a39116f1 | 42 | /* symbols may be external */ |
eb4edf5d RP |
43 | #define S_IS_EXTERNAL(s) (0) |
44 | #define S_SET_EXTERNAL(s) ; | |
a39116f1 RP |
45 | |
46 | /* symbols may or may not be defined */ | |
eb4edf5d RP |
47 | #define S_IS_DEFINED(s) (0) |
48 | ||
49 | ||
50 | #define DEFAULT_MAGIC_NUMBER_FOR_OBJECT_FILE (0) /* your magic number */ | |
51 | ||
52 | #define OBJ_EMIT_LINENO(a,b,c) /* must be *something*. This no-op's it out. */ | |
53 | ||
54 | /* | |
55 | * Local Variables: | |
56 | * comment-column: 0 | |
57 | * fill-column: 131 | |
58 | * End: | |
59 | */ | |
60 | ||
61 | /* end of obj-generic.h */ |