xref: /netbsd/external/gpl3/gdb/dist/gas/config/obj-aout.h (revision 1424dfb3)
1 /* obj-aout.h, a.out object file format for gas, the assembler.
2    Copyright (C) 1989-2020 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
8    published by the Free Software Foundation; either version 3,
9    or (at your option) any later version.
10 
11    GAS is distributed in the hope that it will be useful, but
12    WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
14    the 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 the Free
18    Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
19    02110-1301, USA.  */
20 
21 /* Tag to validate a.out object file format processing */
22 #define OBJ_AOUT 1
23 
24 #include "targ-cpu.h"
25 
26 #include "bfd/libaout.h"
27 
28 #define OUTPUT_FLAVOR bfd_target_aout_flavour
29 
30 extern const pseudo_typeS aout_pseudo_table[];
31 
32 #ifndef obj_pop_insert
33 #define obj_pop_insert() pop_insert (aout_pseudo_table)
34 #endif
35 
36 /* Symbol table entry data type.  */
37 
38 typedef struct nlist obj_symbol_type;	/* Symbol table entry.  */
39 
40 /* Symbol table macros and constants */
41 
42 #define S_SET_OTHER(S,V) \
43   (aout_symbol (symbol_get_bfdsym (S))->other = (V))
44 #define S_SET_TYPE(S,T) \
45   (aout_symbol (symbol_get_bfdsym (S))->type = (T))
46 #define S_SET_DESC(S,D)	\
47   (aout_symbol (symbol_get_bfdsym (S))->desc = (D))
48 #define S_GET_OTHER(S) \
49   (aout_symbol (symbol_get_bfdsym (S))->other)
50 #define S_GET_TYPE(S) \
51   (aout_symbol (symbol_get_bfdsym (S))->type)
52 #define S_GET_DESC(S) \
53   (aout_symbol (symbol_get_bfdsym (S))->desc)
54 
55 extern asection *text_section, *data_section, *bss_section;
56 
57 #define obj_frob_symbol(S,PUNT)	obj_aout_frob_symbol (S, &PUNT)
58 #define obj_frob_file_before_fix() obj_aout_frob_file_before_fix ()
59 
60 extern void obj_aout_frob_symbol (symbolS *, int *);
61 extern void obj_aout_frob_file_before_fix (void);
62 
63 #define obj_sec_sym_ok_for_reloc(SEC)	1
64 
65 #define obj_read_begin_hook()	{;}
66 #define obj_symbol_new_hook(s)	{;}
67 
68 #define EMIT_SECTION_SYMBOLS		0
69 
70 #define AOUT_STABS
71