summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2008-01-21 20:38:27 +0000
committerUlrich Drepper <drepper@redhat.com>2008-01-21 20:38:27 +0000
commita9f3660eb17167f57ab308ec54a4e8d4c902858a (patch)
tree4b5bcd903d2f7b9c3ba05079572818b9dfda9da0
parentc58110d291bbd39e416d322076dc58bddf56bcf0 (diff)
Update copyright year.
-rw-r--r--configure.ac2
-rw-r--r--libcpu/ChangeLog7
-rw-r--r--libcpu/Makefile.am6
-rw-r--r--libcpu/i386_parse.y4
-rw-r--r--libdw/dwarf_getpubnames.c11
-rw-r--r--libdw/dwarf_siblingof.c2
-rw-r--r--src/readelf.c11
7 files changed, 17 insertions, 26 deletions
diff --git a/configure.ac b/configure.ac
index 03adc592..a9b0b8b9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -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.
diff --git a/libcpu/ChangeLog b/libcpu/ChangeLog
index 4b225af8..fff065b0 100644
--- a/libcpu/ChangeLog
+++ b/libcpu/ChangeLog
@@ -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.
diff --git a/libcpu/Makefile.am b/libcpu/Makefile.am
index 51817c1e..d3d4bb55 100644
--- a/libcpu/Makefile.am
+++ b/libcpu/Makefile.am
@@ -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
diff --git a/libcpu/i386_parse.y b/libcpu/i386_parse.y
index ceeb12ad..9b2ab33e 100644
--- a/libcpu/i386_parse.y
+++ b/libcpu/i386_parse.y
@@ -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)
{
diff --git a/libdw/dwarf_getpubnames.c b/libdw/dwarf_getpubnames.c
index 08b96cdc..91dad311 100644
--- a/libdw/dwarf_getpubnames.c
+++ b/libdw/dwarf_getpubnames.c
@@ -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);
diff --git a/libdw/dwarf_siblingof.c b/libdw/dwarf_siblingof.c
index 2f451d5d..ac9d2877 100644
--- a/libdw/dwarf_siblingof.c
+++ b/libdw/dwarf_siblingof.c
@@ -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
diff --git a/src/readelf.c b/src/readelf.c
index 90c460f9..2eba7e9d 100644
--- a/src/readelf.c
+++ b/src/readelf.c
@@ -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))
{