1 /* Table of stab names for the BFD library.
2 Copyright (C) 1990-2016 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 *
bfd_get_stab_name(int code)48 bfd_get_stab_name (int code)
49 {
50 switch (code)
51 {
52 #define __define_name(val, str) case val: return str;
53 #include "aout/stab.def"
54 EXTRA_SYMBOLS
55 }
56
57 return (const char *) 0;
58 }
59