aboutsummaryrefslogtreecommitdiff
path: root/gas/config/obj-aout.h
blob: a74d76fd2298f87b078e172c9233b9edaccf365d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/* obj-aout.h, a.out object file format for gas, the assembler.
   Copyright (C) 1989-2015 Free Software Foundation, Inc.

   This file is part of GAS, the GNU Assembler.

   GAS is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as
   published by the Free Software Foundation; either version 3,
   or (at your option) any later version.

   GAS is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
   the GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with GAS; see the file COPYING.  If not, write to the Free
   Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
   02110-1301, USA.  */

/* Tag to validate a.out object file format processing */
#define OBJ_AOUT 1

#include "targ-cpu.h"

#include "bfd/libaout.h"

#define OUTPUT_FLAVOR bfd_target_aout_flavour

extern const pseudo_typeS aout_pseudo_table[];

#ifndef obj_pop_insert
#define obj_pop_insert() pop_insert (aout_pseudo_table)
#endif

/* Symbol table entry data type.  */

typedef struct nlist obj_symbol_type;	/* Symbol table entry.  */

/* Symbol table macros and constants */

#define S_SET_OTHER(S,V) \
  (aout_symbol (symbol_get_bfdsym (S))->other = (V))
#define S_SET_TYPE(S,T) \
  (aout_symbol (symbol_get_bfdsym (S))->type = (T))
#define S_SET_DESC(S,D)	\
  (aout_symbol (symbol_get_bfdsym (S))->desc = (D))
#define S_GET_OTHER(S) \
  (aout_symbol (symbol_get_bfdsym (S))->other)
#define S_GET_TYPE(S) \
  (aout_symbol (symbol_get_bfdsym (S))->type)
#define S_GET_DESC(S) \
  (aout_symbol (symbol_get_bfdsym (S))->desc)

extern asection *text_section, *data_section, *bss_section;

#define obj_frob_symbol(S,PUNT)	obj_aout_frob_symbol (S, &PUNT)
#define obj_frob_file_before_fix() obj_aout_frob_file_before_fix ()

extern void obj_aout_frob_symbol (symbolS *, int *);
extern void obj_aout_frob_file_before_fix (void);

#define obj_sec_sym_ok_for_reloc(SEC)	1

#define obj_read_begin_hook()	{;}
#define obj_symbol_new_hook(s)	{;}

#define EMIT_SECTION_SYMBOLS		0

#define AOUT_STABS