X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=bfd%2Fstab-syms.c;h=74f39f365882eb8f8e3a780e4cdab4becc53efba;hb=a71c9b7687b40ba8a2ea22da26c712522e21fe7b;hp=16cd6973e8d30af4452dc778caeb7e6d595fb386;hpb=e98fe4f7b54cbdf29aef9287bbb1bea8801dd05a;p=platform%2Fupstream%2Fbinutils.git diff --git a/bfd/stab-syms.c b/bfd/stab-syms.c index 16cd697..74f39f3 100644 --- a/bfd/stab-syms.c +++ b/bfd/stab-syms.c @@ -1,75 +1,59 @@ /* Table of stab names for the BFD library. - Copyright (C) 1990, 91, 92, 93, 94, 1995 Free Software Foundation, Inc. + Copyright (C) 1990-2014 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 "aout/aout64.h" -/* Create a table of debugging stab-codes and corresponding names. */ - +/* Ignore duplicate stab codes; just return the string for the first + one. */ #define __define_stab(NAME, CODE, STRING) __define_name(CODE, STRING) +#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. */ + 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_SETV, "SETV")/* Pointer to set vector in data area. */ \ __define_name (N_INDR, "INDR") \ __define_name (N_WARNING, "WARNING") -CONST char * -aout_stab_name (code) +const char * +bfd_get_stab_name (code) int code; { -#if 0 /* This lookup table is slower than lots of explicit tests, at - least on the i386. One advantage is that the compiler can - eliminate duplicates from the code, whereas they can't easily - be eliminated from the lookup table. */ - -#define __define_name(CODE, STRING) {(int)CODE, STRING}, - static const struct { - int code; - char string[7]; - } aout_stab_names[] = { -#include "aout/stab.def" - EXTRA_SYMBOLS - }; - 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; - -#else - -#define __define_name(val, str) if (val == code) return str ; + switch (code) + { +#define __define_name(val, str) case val: return str; #include "aout/stab.def" - EXTRA_SYMBOLS - -#endif + EXTRA_SYMBOLS + } - return 0; + return (const char *) 0; }