| 1 | /* Table of stab names for the BFD library. |
| 2 | Copyright (C) 1990-1991 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 2 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ |
| 20 | |
| 21 | #include "bfd.h" |
| 22 | |
| 23 | #define ARCH_SIZE 32 /* Value doesn't matter. */ |
| 24 | #include "libaout.h" |
| 25 | #include "aout64.h" |
| 26 | |
| 27 | /* Create a table of debugging stab-codes and corresponding names. */ |
| 28 | |
| 29 | #define __define_name(CODE, STRING) {(int)CODE, STRING}, |
| 30 | #define __define_stab(NAME, CODE, STRING) __define_name(CODE, STRING) |
| 31 | struct {short code; char string[10];} aout_stab_names[] |
| 32 | = { |
| 33 | #include "stab.def" |
| 34 | |
| 35 | /* These are not really stab symbols, but it is |
| 36 | convenient to have them here for the sake of nm. |
| 37 | For completeness, we could also add N_TEXT etc, but those |
| 38 | are never needed, since nm treats those specially. */ |
| 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 | #undef __define_stab |
| 48 | #undef GNU_EXTRA_STABS |
| 49 | |
| 50 | char * |
| 51 | DEFUN(aout_stab_name,(code), |
| 52 | int code) |
| 53 | { |
| 54 | register int i = sizeof(aout_stab_names) / sizeof(aout_stab_names[0]); |
| 55 | while (--i >= 0) |
| 56 | if (aout_stab_names[i].code == code) |
| 57 | return aout_stab_names[i].string; |
| 58 | return 0; |
| 59 | } |