source: trunk/binutils/gas/config/obj-multi.h

Last change on this file was 610, checked in by bird, 22 years ago

This commit was generated by cvs2svn to compensate for changes in r609,
which included commits to RCS files with non-trunk default branches.

  • Property cvs2svn:cvs-rev set to 1.1.1.2
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 4.1 KB
Line 
1/* Multiple object format emulation.
2 Copyright 1995, 1996, 1997, 1999, 2000, 2002
3 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 published by
9 the Free Software Foundation; either version 2, or (at your option)
10 any later version.
11
12 GAS is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 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, 59 Temple Place - Suite 330, Boston, MA
20 02111-1307, USA. */
21
22#ifndef _OBJ_MULTI_H
23#define _OBJ_MULTI_H
24
25#ifdef OBJ_HEADER
26#include OBJ_HEADER
27#else
28
29#include "emul.h"
30#include "targ-cpu.h"
31
32#define OUTPUT_FLAVOR \
33 (this_format->flavor)
34
35#define obj_begin() \
36 (this_format->begin \
37 ? (*this_format->begin) () \
38 : (void) 0)
39
40#define obj_app_file(NAME) \
41 (this_format->app_file \
42 ? (*this_format->app_file) (NAME) \
43 : (void) 0)
44
45#define obj_frob_symbol(S,P) \
46 (*this_format->frob_symbol) (S, &(P))
47
48#define obj_frob_file() \
49 (this_format->frob_file \
50 ? (*this_format->frob_file) () \
51 : (void) 0)
52
53#define obj_frob_file_before_adjust() \
54 (this_format->frob_file_before_adjust \
55 ? (*this_format->frob_file_before_adjust) () \
56 : (void) 0)
57
58#define obj_frob_file_before_fix() \
59 (this_format->frob_file_before_fix \
60 ? (*this_format->frob_file_before_fix) () \
61 : (void) 0)
62
63#define obj_frob_file_after_relocs() \
64 (this_format->frob_file_after_relocs \
65 ? (*this_format->frob_file_after_relocs) () \
66 : (void) 0)
67
68#define obj_ecoff_set_ext \
69 (*this_format->ecoff_set_ext)
70
71#define obj_pop_insert \
72 (*this_format->pop_insert)
73
74#define obj_read_begin_hook() \
75 (this_format->read_begin_hook \
76 ? (*this_format->read_begin_hook) () \
77 : (void) 0)
78
79#define obj_symbol_new_hook(S) \
80 (this_format->symbol_new_hook \
81 ? (*this_format->symbol_new_hook) (S) \
82 : (void) 0)
83
84#define obj_sec_sym_ok_for_reloc(A) \
85 (this_format->sec_sym_ok_for_reloc \
86 ? (*this_format->sec_sym_ok_for_reloc) (A) \
87 : 0)
88
89#define S_GET_SIZE \
90 (*this_format->s_get_size)
91
92#define S_SET_SIZE(S, N) \
93 (this_format->s_set_size \
94 ? (*this_format->s_set_size) (S, N) \
95 : (void) 0)
96
97#define S_GET_ALIGN \
98 (*this_format->s_get_align)
99
100#define S_SET_ALIGN(S, N) \
101 (this_format->s_set_align \
102 ? (*this_format->s_set_align) (S, N) \
103 : (void) 0)
104
105#define S_GET_OTHER \
106 (*this_format->s_get_other)
107
108#define S_SET_OTHER(S, O) \
109 (this_format->s_set_other \
110 ? (*this_format->s_set_other) (S, O) \
111 : (void) 0)
112
113#define S_GET_DESC \
114 (*this_format->s_get_desc)
115
116#define S_SET_DESC(S, D) \
117 (this_format->s_set_desc \
118 ? (*this_format->s_set_desc) (S, D) \
119 : (void) 0)
120
121#define S_GET_TYPE \
122 (*this_format->s_get_desc)
123
124#define S_SET_TYPE(S, T) \
125 (this_format->s_set_type \
126 ? (*this_format->s_set_type) (S, T) \
127 : (void) 0)
128
129#define OBJ_COPY_SYMBOL_ATTRIBUTES(d,s) \
130 (this_format->copy_symbol_attributes \
131 ? (*this_format->copy_symbol_attributes) (d, s) \
132 : (void) 0)
133
134#define OBJ_PROCESS_STAB(SEG,W,S,T,O,D) \
135 (this_format->process_stab \
136 ? (*this_format->process_stab) (SEG,W,S,T,O,D) \
137 : (void) 0)
138
139#define SEPARATE_STAB_SECTIONS \
140 ((*this_format->separate_stab_sections) ())
141
142#define INIT_STAB_SECTION(S) \
143 (this_format->init_stab_section \
144 ? (*this_format->init_stab_section) (S) \
145 : (void) 0)
146
147#define EMIT_SECTION_SYMBOLS (this_format->emit_section_symbols)
148
149#ifdef OBJ_MAYBE_ELF
150/* We need OBJ_SYMFIELD_TYPE so that symbol_get_obj is defined in symbol.c
151 We also need various STAB defines for stab.c */
152#include "obj-elf.h"
153#endif
154
155#ifdef OBJ_MAYBE_AOUT
156/* We want aout_process_stab in stabs.c for the aout table. Defining this
157 macro will have no other effect. */
158#define AOUT_STABS
159#endif
160
161#endif /* !OBJ_HEADER */
162#endif /* _OBJ_MULTI_H */
Note: See TracBrowser for help on using the repository browser.