Home | History | Annotate | Download | only in bfd
      1 /* Table of stab names for the BFD library.
      2    Copyright (C) 1990-2014 Free Software Foundation, Inc.
      3    Written by Cygnus Support.
      4 
      5    This file is part of BFD, the Binary File Descriptor library.
      6 
      7    This program 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 3 of the License, or
     10    (at your option) any later version.
     11 
     12    This program 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 this program; if not, write to the Free Software
     19    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
     20    MA 02110-1301, USA.  */
     21 
     22 #include "sysdep.h"
     23 #include "bfd.h"
     24 
     25 #define ARCH_SIZE 32		/* Value doesn't matter.  */
     26 #include "libaout.h"
     27 #include "aout/aout64.h"
     28 
     29 /* Ignore duplicate stab codes; just return the string for the first
     30    one.  */
     31 #define __define_stab(NAME, CODE, STRING) __define_name(CODE, STRING)
     32 #define __define_stab_duplicate(NAME, CODE, STRING)
     33 
     34 /* These are not really stab symbols, but it is
     35    convenient to have them here for the sake of nm.
     36    For completeness, we could also add N_TEXT etc, but those
     37    are never needed, since nm treats those specially.  */
     38 #define EXTRA_SYMBOLS \
     39   __define_name (N_SETA, "SETA")/* Absolute set element symbol */ \
     40   __define_name (N_SETT, "SETT")/* Text set element symbol */ \
     41   __define_name (N_SETD, "SETD")/* Data set element symbol */ \
     42   __define_name (N_SETB, "SETB")/* Bss set element symbol */ \
     43   __define_name (N_SETV, "SETV")/* Pointer to set vector in data area.  */ \
     44   __define_name (N_INDR, "INDR") \
     45   __define_name (N_WARNING, "WARNING")
     46 
     47 const char *
     48 bfd_get_stab_name (code)
     49      int code;
     50 {
     51   switch (code)
     52     {
     53 #define __define_name(val, str) case val: return str;
     54 #include "aout/stab.def"
     55       EXTRA_SYMBOLS
     56     }
     57 
     58   return (const char *) 0;
     59 }
     60