Home | History | Annotate | Download | only in config
      1 /* SOM object file format.
      2    Copyright (C) 1993-2016 Free Software Foundation, Inc.
      3 
      4    This file is part of GAS, the GNU Assembler.
      5 
      6    GAS is free software; you can redistribute it and/or modify
      7    it under the terms of the GNU General Public License as published by
      8    the Free Software Foundation; either version 3, or (at your option)
      9    any later version.
     10 
     11    GAS is distributed in the hope that it will be useful,
     12    but WITHOUT ANY WARRANTY; without even the implied warranty of
     13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     14    GNU General Public License for more details.
     15 
     16    You should have received a copy of the GNU General Public License
     17    along with GAS; see the file COPYING.  If not, write to the Free
     18    Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
     19    02110-1301, USA.
     20 
     21    Written by the Center for Software Science at the University of Utah
     22    and by Cygnus Support.  */
     23 
     24 #ifndef _OBJ_SOM_H
     25 #define _OBJ_SOM_H
     26 
     27 #define OBJ_SOM 1
     28 
     29 #include "bfd/som.h"
     30 #include "som/reloc.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!  */
     39 #define som_symbol(asymbol) ((som_symbol_type *) (&(asymbol)->the_bfd))
     40 
     41 extern void som_file_symbol           (char *);
     42 extern void som_frob_file             (void);
     43 extern void obj_som_version           (int);
     44 extern void obj_som_init_stab_section (segT);
     45 extern void obj_som_copyright         (int);
     46 extern void obj_som_compiler          (int);
     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 */
     75