1 /* obj-aout.h, a.out object file format for gas, the assembler.
2    Copyright 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 2000,
3    2002, 2003, 2005 Free Software Foundation, Inc.
4 
5    This file is part of GAS, the GNU Assembler.
6 
7    GAS is free software; you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as
9    published by the Free Software Foundation; either version 2,
10    or (at your option) any later version.
11 
12    GAS is distributed in the hope that it will be useful, but
13    WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
15    the GNU General Public License for more details.
16 
17    You should have received a copy of the GNU General Public License
18    along with GAS; see the file COPYING.  If not, write to the Free
19    Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
20    02110-1301, USA.  */
21 
22 /* Tag to validate a.out object file format processing */
23 #define OBJ_AOUT 1
24 
25 #include "targ-cpu.h"
26 
27 #include "bfd/libaout.h"
28 
29 #define OUTPUT_FLAVOR bfd_target_aout_flavour
30 
31 extern const pseudo_typeS aout_pseudo_table[];
32 
33 #ifndef obj_pop_insert
34 #define obj_pop_insert() pop_insert (aout_pseudo_table)
35 #endif
36 
37 /* Symbol table entry data type.  */
38 
39 typedef struct nlist obj_symbol_type;	/* Symbol table entry.  */
40 
41 /* Symbol table macros and constants */
42 
43 #define S_SET_OTHER(S,V) \
44   (aout_symbol (symbol_get_bfdsym (S))->other = (V))
45 #define S_SET_TYPE(S,T) \
46   (aout_symbol (symbol_get_bfdsym (S))->type = (T))
47 #define S_SET_DESC(S,D)	\
48   (aout_symbol (symbol_get_bfdsym (S))->desc = (D))
49 #define S_GET_OTHER(S) \
50   (aout_symbol (symbol_get_bfdsym (S))->other)
51 #define S_GET_TYPE(S) \
52   (aout_symbol (symbol_get_bfdsym (S))->type)
53 #define S_GET_DESC(S) \
54   (aout_symbol (symbol_get_bfdsym (S))->desc)
55 
56 asection *text_section, *data_section, *bss_section;
57 
58 #define obj_frob_symbol(S,PUNT)	obj_aout_frob_symbol (S, &PUNT)
59 #define obj_frob_file_before_fix() obj_aout_frob_file_before_fix ()
60 
61 extern void obj_aout_frob_symbol (symbolS *, int *);
62 extern void obj_aout_frob_file_before_fix (void);
63 
64 #define obj_sec_sym_ok_for_reloc(SEC)	1
65 
66 #define obj_read_begin_hook()	{;}
67 #define obj_symbol_new_hook(s)	{;}
68 
69 #define EMIT_SECTION_SYMBOLS		0
70 
71 #define AOUT_STABS
72