X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2Fstab-syms.c;h=d0ab73e4eec543416750fa9fedf54e895bc5e52f;hb=a8a566853a0fc7f57159e55436ff6f395e499568;hp=209c8a4796c9c97cbb07d44643c9376bbd2b4c8c;hpb=c3a1a56bda16fc57a919cd742ddff597d8841535;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/stab-syms.c b/bfd/stab-syms.c index 209c8a4796..d0ab73e4ee 100644 --- a/bfd/stab-syms.c +++ b/bfd/stab-syms.c @@ -1,59 +1,58 @@ /* Table of stab names for the BFD library. - Copyright (C) 1990-1991 Free Software Foundation, Inc. + Copyright (C) 1990-2020 Free Software Foundation, Inc. Written by Cygnus Support. -This file is part of BFD, the Binary File Descriptor library. + This file is part of BFD, the Binary File Descriptor library. -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, + MA 02110-1301, USA. */ +#include "sysdep.h" #include "bfd.h" -#define ARCH_SIZE 32 /* Value doesn't matter. */ +#define ARCH_SIZE 32 /* Value doesn't matter. */ #include "libaout.h" -#include "aout64.h" +#include "aout/aout64.h" -/* Create a table of debugging stab-codes and corresponding names. */ - -#define __define_name(CODE, STRING) {(int)CODE, STRING}, +/* Ignore duplicate stab codes; just return the string for the first + one. */ #define __define_stab(NAME, CODE, STRING) __define_name(CODE, STRING) -struct {short code; char string[10];} aout_stab_names[] - = { -#include "stab.def" +#define __define_stab_duplicate(NAME, CODE, STRING) /* These are not really stab symbols, but it is convenient to have them here for the sake of nm. For completeness, we could also add N_TEXT etc, but those - are never needed, since nm treats those specially. */ -__define_name (N_SETA, "SETA") /* Absolute set element symbol */ -__define_name (N_SETT, "SETT") /* Text set element symbol */ -__define_name (N_SETD, "SETD") /* Data set element symbol */ -__define_name (N_SETB, "SETB") /* Bss set element symbol */ -__define_name (N_SETV, "SETV") /* Pointer to set vector in data area. */ -__define_name (N_INDR, "INDR") -__define_name (N_WARNING, "WARNING") - }; -#undef __define_stab -#undef GNU_EXTRA_STABS - -char * -DEFUN(aout_stab_name,(code), -int code) + are never needed, since nm treats those specially. */ +#define EXTRA_SYMBOLS \ + __define_name (N_SETA, "SETA")/* Absolute set element symbol */ \ + __define_name (N_SETT, "SETT")/* Text set element symbol */ \ + __define_name (N_SETD, "SETD")/* Data set element symbol */ \ + __define_name (N_SETB, "SETB")/* Bss set element symbol */ \ + __define_name (N_SETV, "SETV")/* Pointer to set vector in data area. */ \ + __define_name (N_INDR, "INDR") \ + __define_name (N_WARNING, "WARNING") + +const char * +bfd_get_stab_name (int code) { - register int i = sizeof(aout_stab_names) / sizeof(aout_stab_names[0]); - while (--i >= 0) - if (aout_stab_names[i].code == code) - return aout_stab_names[i].string; - return 0; + switch (code) + { +#define __define_name(val, str) case val: return str; +#include "aout/stab.def" + EXTRA_SYMBOLS + } + + return (const char *) 0; }