]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gas/config/obj-som.h
Switch to GPLv3
[thirdparty/binutils-gdb.git] / gas / config / obj-som.h
CommitLineData
252b5132 1/* SOM object file format.
ec2655a6 2 Copyright 1993, 1994, 1995, 1998, 2000, 2004, 2005, 2006, 2007
aef6203b 3 Free Software Foundation, Inc.
252b5132
RH
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
ec2655a6 9 the Free Software Foundation; either version 3, or (at your option)
252b5132
RH
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
4b4da160
NC
19 Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
20 02110-1301, USA.
252b5132
RH
21
22 Written by the Center for Software Science at the University of Utah
23 and by Cygnus Support. */
24
25#ifndef _OBJ_SOM_H
26#define _OBJ_SOM_H
27
28#define OBJ_SOM 1
29
252b5132
RH
30#include "bfd/som.h"
31#include "targ-cpu.h"
32
33#ifndef FALSE
34#define FALSE 0
35#define TRUE !FALSE
36#endif
37
38/* should be conditional on address size! */
814f6641 39#define som_symbol(asymbol) ((som_symbol_type *) (&(asymbol)->the_bfd))
252b5132 40
ea1562b3
NC
41extern void som_file_symbol (char *);
42extern void som_frob_file (void);
43extern void obj_som_version (int);
44extern void obj_som_init_stab_section (segT);
45extern void obj_som_copyright (int);
46extern void obj_som_compiler (int);
252b5132
RH
47
48#define obj_symbol_new_hook(s) {;}
49
50/* SOM has several attributes for spaces/subspaces which can not
51 be easily expressed in BFD. We use these macros to trigger calls
52 into the SOM BFD backend to set these attributes. */
53#define obj_set_section_attributes bfd_som_set_section_attributes
54#define obj_set_subsection_attributes bfd_som_set_subsection_attributes
55
56/* Likewise for symbol types. */
57#define obj_set_symbol_type bfd_som_set_symbol_type
58
59/* Stabs go in a separate sections. GDB expects to find them in sections
60 with the names $GDB_SYMBOLS$ and $GDB_STRINGS$ rather than .stab and
61 .stabstr. */
62#define SEPARATE_STAB_SECTIONS 1
63#define STAB_SECTION_NAME "$GDB_SYMBOLS$"
64#define STAB_STRING_SECTION_NAME "$GDB_STRINGS$"
65
66/* We use INIT_STAB_SECTION to record the space/subspace relationships
67 for the various debugging sections. */
68#define INIT_STAB_SECTION(seg) obj_som_init_stab_section (seg)
69
70/* We'll be updating the magic 1st stab entry once the entire assembly
71 fail has been processed. */
72#define obj_frob_file() som_frob_file()
73
74#endif /* _OBJ_SOM_H */