This commit was generated by cvs2svn to track changes on a CVS vendor
[deliverable/binutils-gdb.git] / gas / config / obj-multi.h
1 /* Multiple object format emulation.
2 Copyright (C) 1995, 96, 97, 99, 2000
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 1, 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_frob_symbol(S,P) \
36 (*this_format->frob_symbol) (S, &(P))
37
38 #define obj_frob_file() \
39 (this_format->frob_file \
40 ? (*this_format->frob_file) () \
41 : (void) 0)
42
43 #define obj_frob_file_after_relocs() \
44 (this_format->frob_file_after_relocs \
45 ? (*this_format->frob_file_after_relocs) () \
46 : (void) 0)
47
48 #define obj_ecoff_set_ext \
49 (*this_format->ecoff_set_ext)
50
51 #define obj_pop_insert \
52 (*this_format->pop_insert)
53
54 #define obj_read_begin_hook() \
55 (this_format->read_begin_hook \
56 ? (*this_format->read_begin_hook) () \
57 : (void) 0)
58
59 #define obj_symbol_new_hook(S) \
60 (this_format->symbol_new_hook \
61 ? (*this_format->symbol_new_hook) (S) \
62 : (void) 0)
63
64 #define obj_sec_sym_ok_for_reloc(A) \
65 (this_format->sec_sym_ok_for_reloc \
66 ? (*this_format->sec_sym_ok_for_reloc) (A) \
67 : 0)
68
69 #define S_GET_SIZE \
70 (*this_format->s_get_size)
71
72 #define S_SET_SIZE \
73 (*this_format->s_set_size)
74
75 #define S_GET_ALIGN \
76 (*this_format->s_get_align)
77
78 #define S_SET_ALIGN \
79 (*this_format->s_set_align)
80
81 #define S_GET_OTHER \
82 (*this_format->s_get_other)
83
84 #define S_GET_DESC \
85 (*this_format->s_get_desc)
86
87 #define OBJ_COPY_SYMBOL_ATTRIBUTES(d,s) \
88 (this_format->copy_symbol_attributes \
89 ? (*this_format->copy_symbol_attributes) (d, s) \
90 : (void) 0)
91
92 #define OBJ_PROCESS_STAB(SEG,W,S,T,O,D) \
93 (this_format->process_stab \
94 ? (*this_format->process_stab) (SEG,W,S,T,O,D) \
95 : (void) 0)
96
97 #ifdef OBJ_MAYBE_ELF
98 /* We need OBJ_SYMFIELD_TYPE so that symbol_get_obj is defined in symbol.c
99 We also need various STAB defines for stab.c */
100 #include "obj-elf.h"
101 #endif
102
103 #endif /* !OBJ_HEADER */
104 #endif /* _OBJ_MULTI_H */
This page took 0.031693 seconds and 4 git commands to generate.