From ea0bcb1eb301b01a545307651667802059ade062 Mon Sep 17 00:00:00 2001 From: DJ Delorie Date: Fri, 27 Apr 2012 18:03:18 +0000 Subject: merge from gcc --- libiberty/ChangeLog | 7 ++++ libiberty/Makefile.in | 14 ++++++-- libiberty/dwarfnames.c | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 116 insertions(+), 3 deletions(-) create mode 100644 libiberty/dwarfnames.c (limited to 'libiberty') diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 4f8bc3f288..eb37699e14 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,10 @@ +2012-04-27 Tom Tromey + + * dwarfnames.c: New file. + * Makefile.in (CFILES): Add dwarfnames. + (REQUIRED_OFILES): Add dwarfnames. + (./dwarfnames.$(objext)): New target. + 2012-04-04 Tristan Gingold * pex-unix.c (to_ptr32): Fix style. diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in index 5280bc1585..0a5da3178b 100644 --- a/libiberty/Makefile.in +++ b/libiberty/Makefile.in @@ -2,7 +2,7 @@ # Originally written by K. Richard Pixley . # # Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, -# 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 +# 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 # Free Software Foundation # # This file is part of the libiberty library. @@ -126,7 +126,7 @@ CFILES = alloca.c argv.c asprintf.c atexit.c \ basename.c bcmp.c bcopy.c bsearch.c bzero.c \ calloc.c choose-temp.c clock.c concat.c cp-demangle.c \ cp-demint.c cplus-dem.c crc32.c \ - dyn-string.c \ + dwarfnames.c dyn-string.c \ fdmatch.c ffs.c fibheap.c filename_cmp.c floatformat.c \ fnmatch.c fopen_unlocked.c \ getcwd.c getopt.c getopt1.c getpagesize.c getpwd.c getruntime.c \ @@ -166,7 +166,8 @@ REQUIRED_OFILES = \ ./md5.$(objext) ./sha1.$(objext) ./alloca.$(objext) \ ./argv.$(objext) \ ./choose-temp.$(objext) ./concat.$(objext) \ - ./cp-demint.$(objext) ./crc32.$(objext) ./dyn-string.$(objext) \ + ./cp-demint.$(objext) ./crc32.$(objext) \ + ./dwarfnames.$(objext) ./dyn-string.$(objext) \ ./fdmatch.$(objext) ./fibheap.$(objext) \ ./filename_cmp.$(objext) ./floatformat.$(objext) \ ./fnmatch.$(objext) ./fopen_unlocked.$(objext) \ @@ -621,6 +622,13 @@ $(CONFIGURED_OFILES): stamp-picdir else true; fi $(COMPILE.c) $(srcdir)/crc32.c $(OUTPUT_OPTION) +./dwarfnames.$(objext): $(srcdir)/dwarfnames.c $(INCDIR)/dwarf2.h \ + $(INCDIR)/dwarf2.def + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/dwarfnames.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/dwarfnames.c $(OUTPUT_OPTION) + ./dyn-string.$(objext): $(srcdir)/dyn-string.c config.h $(INCDIR)/ansidecl.h \ $(INCDIR)/dyn-string.h $(INCDIR)/libiberty.h if [ x"$(PICFLAG)" != x ]; then \ diff --git a/libiberty/dwarfnames.c b/libiberty/dwarfnames.c new file mode 100644 index 0000000000..7017308d98 --- /dev/null +++ b/libiberty/dwarfnames.c @@ -0,0 +1,98 @@ +/* Names of various DWARF tags. + Copyright (C) 2012 Free Software Foundation, Inc. + +This file is part of GNU CC. + +GNU CC 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, or (at your option) +any later version. + +In addition to the permissions in the GNU General Public License, the +Free Software Foundation gives you unlimited permission to link the +compiled version of this file into combinations with other programs, +and to distribute those combinations without any restriction coming +from the use of this file. (The General Public License restrictions +do apply in other respects; for example, they cover modification of +the file, and distribution when not linked into a combined +executable.) + +GNU CC 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 GNU CC; see the file COPYING. If not, write to +the Free Software Foundation, 51 Franklin Street - Fifth Floor, +Boston, MA 02110-1301, USA. */ + +#include "dwarf2.h" + +#define DW_FIRST_TAG(name, value) \ + const char *get_DW_TAG_name (unsigned int tag) \ + { switch (tag) { \ + DW_TAG (name, value) +#define DW_END_TAG } return 0; } +#define DW_FIRST_FORM(name, value) \ + const char *get_DW_FORM_name (unsigned int form) \ + { switch (form) { \ + DW_FORM (name, value) +#define DW_END_FORM } return 0; } +#define DW_FIRST_AT(name, value) \ + const char *get_DW_AT_name (unsigned int attr) { \ + switch (attr) { \ + DW_AT (name, value) +#define DW_END_AT } return 0; } +#define DW_FIRST_OP(name, value) \ + const char *get_DW_OP_name (unsigned int op) { \ + switch (op) { \ + DW_OP (name, value) +#define DW_END_OP } return 0; } +#define DW_FIRST_ATE(name, value) \ + const char *get_DW_ATE_name (unsigned int enc) { \ + switch (enc) { \ + DW_ATE (name, value) +#define DW_END_ATE } return 0; } +#define DW_FIRST_CFA(name, value) \ + const char *get_DW_CFA_name (unsigned int opc) { \ + switch (opc) { \ + DW_CFA (name, value) +#define DW_END_CFA } return 0; } + +#define DW_TAG(name, value) case name: return # name ; +#define DW_TAG_DUP(name, value) +#define DW_FORM(name, value) case name: return # name ; +#define DW_AT(name, value) case name: return # name ; +#define DW_AT_DUP(name, value) +#define DW_OP(name, value) case name: return # name ; +#define DW_OP_DUP(name, value) +#define DW_ATE(name, value) case name: return # name ; +#define DW_ATE_DUP(name, value) +#define DW_CFA(name, value) case name: return # name ; + +#include "dwarf2.def" + +#undef DW_FIRST_TAG +#undef DW_END_TAG +#undef DW_FIRST_FORM +#undef DW_END_FORM +#undef DW_FIRST_AT +#undef DW_END_AT +#undef DW_FIRST_OP +#undef DW_END_OP +#undef DW_FIRST_ATE +#undef DW_END_ATE +#undef DW_FIRST_CFA +#undef DW_END_CFA + +#undef DW_TAG +#undef DW_TAG_DUP +#undef DW_FORM +#undef DW_AT +#undef DW_AT_DUP +#undef DW_OP +#undef DW_OP_DUP +#undef DW_ATE +#undef DW_ATE_DUP +#undef DW_CFA -- cgit v1.2.1