Initial import from FreeBSD RELENG_4:
[games.git] / gnu / usr.bin / as / config / obj-generic.h
1 /* This file is obj-generic.h
2    Copyright (C) 1987-1992 Free Software Foundation, Inc.
3
4    This file is part of GAS, the GNU Assembler.
5
6    GAS is free software; you can redistribute it and/or modify
7    it under the terms of the GNU General Public License as published by
8    the Free Software Foundation; either version 2, or (at your option)
9    any later version.
10
11    GAS is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15
16    You should have received a copy of the GNU General Public License
17    along with GAS; see the file COPYING.  If not, write to
18    the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
19
20 /*
21  * This file is obj-generic.h and is intended to be a template for
22  * object format specific header files.
23  */
24
25 /* define an obj specific macro off which target cpu back ends may key. */
26 #define OBJ_GENERIC 1
27
28 /* include whatever target cpu is appropriate. */
29 #include "targ-cpu.h"
30
31 /*
32  * SYMBOLS
33  */
34
35 /*
36  * If your object format needs to reorder symbols, define this.  When
37  * defined, symbols are kept on a doubly linked list and functions are
38  * made available for push, insert, append, and delete.  If not defined,
39  * symbols are kept on a singly linked list, only the append and clear
40  * facilities are available, and they are macros.
41  */
42
43 /* #define SYMBOLS_NEED_PACKPOINTERS */
44
45 /*  */
46 typedef struct {
47         void *nothing;
48 } obj_symbol_type; /* should be the format's symbol structure */
49
50 typedef void *object_headers;
51
52 /* symbols have names */
53 #define S_GET_NAME(s)           ("foo") /* get the name of a symbolP */
54 #define S_SET_NAME(s,v)         ;
55     /* symbols have segments */
56 #define S_GET_SEGMENT(s)        (SEG_UNKNOWN)
57 #define S_SET_SEGMENT(s,v)      ;
58     /* symbols have a value */
59 #define S_GET_VALUE(s)          (0)
60 #define S_SET_VALUE(s,v)        ;
61     /* symbols may be external */
62 #define S_IS_EXTERNAL(s)        (0)
63 #define S_SET_EXTERNAL(s)       ;
64
65     /* symbols may or may not be defined */
66 #define S_IS_DEFINED(s)         (0)
67
68
69 #define OBJ_EMIT_LINENO(a,b,c) /* must be *something*.  This no-op's it out. */
70
71 /*
72  * Local Variables:
73  * comment-column: 0
74  * fill-column: 131
75  * End:
76  */
77
78 /* end of obj-generic.h */