Back to index

cell-binutils  2.17cvs20070401
obj-som.h
Go to the documentation of this file.
00001 /* SOM object file format.
00002    Copyright 1993, 1994, 1995, 1998, 2000, 2004, 2005, 2006
00003    Free Software Foundation, Inc.
00004 
00005    This file is part of GAS, the GNU Assembler.
00006 
00007    GAS is free software; you can redistribute it and/or modify
00008    it under the terms of the GNU General Public License as published by
00009    the Free Software Foundation; either version 1, or (at your option)
00010    any later version.
00011 
00012    GAS is distributed in the hope that it will be useful,
00013    but WITHOUT ANY WARRANTY; without even the implied warranty of
00014    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015    GNU General Public License for more details.
00016 
00017    You should have received a copy of the GNU General Public License
00018    along with GAS; see the file COPYING.  If not, write to the Free
00019    Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
00020    02110-1301, USA.
00021 
00022    Written by the Center for Software Science at the University of Utah
00023    and by Cygnus Support.  */
00024 
00025 #ifndef _OBJ_SOM_H
00026 #define _OBJ_SOM_H
00027 
00028 #define OBJ_SOM 1
00029 
00030 #include "bfd/som.h"
00031 #include "targ-cpu.h"
00032 
00033 #ifndef FALSE
00034 #define FALSE 0
00035 #define TRUE !FALSE
00036 #endif
00037 
00038 /* should be conditional on address size!  */
00039 #define som_symbol(asymbol) ((som_symbol_type *) (&(asymbol)->the_bfd))
00040 
00041 extern void som_file_symbol           (char *);
00042 extern void som_frob_file             (void);
00043 extern void obj_som_version           (int);
00044 extern void obj_som_init_stab_section (segT);
00045 extern void obj_som_copyright         (int);
00046 extern void obj_som_compiler          (int);
00047 
00048 #define obj_symbol_new_hook(s) {;}
00049 
00050 /* SOM has several attributes for spaces/subspaces which can not
00051    be easily expressed in BFD.  We use these macros to trigger calls
00052    into the SOM BFD backend to set these attributes.  */
00053 #define obj_set_section_attributes  bfd_som_set_section_attributes
00054 #define obj_set_subsection_attributes bfd_som_set_subsection_attributes
00055 
00056 /* Likewise for symbol types.  */
00057 #define obj_set_symbol_type bfd_som_set_symbol_type
00058 
00059 /* Stabs go in a separate sections.  GDB expects to find them in sections
00060    with the names $GDB_SYMBOLS$ and $GDB_STRINGS$ rather than .stab and
00061    .stabstr.  */
00062 #define SEPARATE_STAB_SECTIONS 1
00063 #define STAB_SECTION_NAME "$GDB_SYMBOLS$"
00064 #define STAB_STRING_SECTION_NAME "$GDB_STRINGS$"
00065 
00066 /* We use INIT_STAB_SECTION to record the space/subspace relationships
00067    for the various debugging sections.  */
00068 #define INIT_STAB_SECTION(seg) obj_som_init_stab_section (seg)
00069 
00070 /* We'll be updating the magic 1st stab entry once the entire assembly
00071    fail has been processed.  */
00072 #define obj_frob_file() som_frob_file()
00073 
00074 #endif /* _OBJ_SOM_H */