Update copyright year.
authorUlrich Drepper <drepper@redhat.com>
Mon, 21 Jan 2008 20:38:27 +0000 (20:38 +0000)
committerUlrich Drepper <drepper@redhat.com>
Mon, 21 Jan 2008 20:38:27 +0000 (20:38 +0000)
configure.ac
libcpu/ChangeLog
libcpu/Makefile.am
libcpu/i386_parse.y
libdw/dwarf_getpubnames.c
libdw/dwarf_siblingof.c
src/readelf.c

index 03adc59..a9b0b8b 100644 (file)
@@ -22,7 +22,7 @@ AC_INIT([Red Hat elfutils],[0.132],[http://bugzilla.redhat.com/bugzilla/],
 AC_CONFIG_AUX_DIR([config])
 AC_CONFIG_FILES([config/Makefile])
 
-AC_COPYRIGHT([Copyright (C) 1996-2003, 2004, 2005, 2006, 2007 Red Hat, Inc.])
+AC_COPYRIGHT([Copyright (C) 1996-2007, 2008 Red Hat, Inc.])
 AC_PREREQ(2.59)                        dnl Minimum Autoconf version required.
 
 dnl We use GNU make extensions; automake 1.10 defaults to -Wportability.
index 4b225af..fff065b 100644 (file)
@@ -1,10 +1,3 @@
-2008-01-21  Roland McGrath  <roland@redhat.com>
-
-       * i386_parse.y: Add sanity check for NMNES macro value.
-       * Makefile.am (i386_parse.o): Fix target in dependency rule.
-       (i386_parse.h): New target with empty commands.
-       (i386_lex.o): Depend on it in place of i386_parse.c.
-
 2008-01-21  Ulrich Drepper  <drepper@redhat.com>
 
        * Makefile.am (EXTRA_DIST): Remove defs/x86_64.
index 51817c1..d3d4bb5 100644 (file)
@@ -69,13 +69,11 @@ i386_lex_no_Werror = yes
 libeu = ../lib/libeu.a
 
 i386_lex_CFLAGS = -Wno-unused-label -Wno-unused-function -Wno-sign-compare
-i386_parse.o: i386_parse.c i386.mnemonics
+i386_gendis.o: i386_parse.c i386.mnemonics
 i386_parse_CFLAGS = -DNMNES=$$(wc -l < i386.mnemonics)
-i386_lex.o: i386_parse.h
+i386_lex.o: i386_parse.c
 i386_gendis_LDADD = $(libeu) -lm $(libmudflap)
 
-i386_parse.h: i386_parse.c ;
-
 noinst_HEADERS = memory-access.h i386_parse.h i386_data.h
 
 EXTRA_DIST = defs/i386
index ceeb12a..9b2ab33 100644 (file)
@@ -1090,10 +1090,6 @@ print_op_fct (const void *nodep, VISIT value,
 }
 
 
-#if NMNES < 2
-# error "bogus NMNES value"
-#endif
-
 static void
 instrtable_out (void)
 {
index 08b96cd..91dad31 100644 (file)
@@ -129,10 +129,13 @@ get_offsets (Dwarf *dbg)
        mem[cnt].cu_offset = read_8ubyte_unaligned (dbg, readp + 2);
 
       /* Determine the size of the CU header.  */
-      assert (dbg->sectiondata[IDX_debug_info] != NULL);
-      assert (dbg->sectiondata[IDX_debug_info]->d_buf != NULL);
-      assert (mem[cnt].cu_offset + 3
-             < dbg->sectiondata[IDX_debug_info]->d_size);
+      if (dbg->sectiondata[IDX_debug_info] == NULL
+         || dbg->sectiondata[IDX_debug_info]->d_buf == NULL
+         || mem[cnt].cu_offset + 3 >= dbg->sectiondata[IDX_debug_info]->d_size)
+       {
+         __libdw_seterrno (DWARF_E_INVALID_DWARF);
+         goto err_return;
+       }      
       unsigned char *infop
        = ((unsigned char *) dbg->sectiondata[IDX_debug_info]->d_buf
           + mem[cnt].cu_offset);
index 2f451d5..ac9d287 100644 (file)
@@ -56,7 +56,6 @@
 #include <dwarf.h>
 #include <string.h>
 
-
 int
 dwarf_siblingof (die, result)
      Dwarf_Die *die;
@@ -114,7 +113,6 @@ dwarf_siblingof (die, result)
        /* This abbreviation has children.  */
        ++level;
 
-
       while (1)
        {
          /* Make sure we are still in range.  Some producers might skip
index 90c460f..2eba7e9 100644 (file)
@@ -4041,7 +4041,8 @@ attr_callback (Dwarf_Attribute *attrp, void *arg)
        if (unlikely (dwarf_formaddr (attrp, &addr) != 0))
          {
          attrval_out:
-           error (0, 0, gettext ("cannot get attribute value: %s"),
+           error (0, 0, gettext ("offset: %" PRIx64 " cannot get attribute value: %s"),
+                  attrp->valp - (unsigned char *) attrp->cu->dbg->sectiondata[IDX_debug_info]->d_buf,
                   dwarf_errmsg (-1));
            return DWARF_CB_ABORT;
          }
@@ -4285,7 +4286,7 @@ print_debug_info_section (Dwfl_Module *dwflmod,
       int tag = dwarf_tag (&dies[level]);
       if (unlikely (tag == DW_TAG_invalid))
        {
-         error (0, 0, gettext ("cannot get tag of DIE at offset %" PRIu64
+         error (0, 0, gettext ("cannot get tag of DIE at offset %" PRIx64
                                " in section '%s': %s"),
                 (uint64_t) offset, ".debug_info", dwarf_errmsg (-1));
          goto do_return;
@@ -4309,8 +4310,10 @@ print_debug_info_section (Dwfl_Module *dwflmod,
       if (res > 0)
        {
          while ((res = dwarf_siblingof (&dies[level], &dies[level])) == 1)
-           if (level-- == 0)
-             break;
+           {
+             if (level-- == 0)
+               break;
+           }
 
          if (unlikely (res == -1))
            {