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
31extern 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
39typedef 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
56asection *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
61extern void obj_aout_frob_symbol (symbolS *, int *);
62extern 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