libdw/
2007-04-16  Roland McGrath  <roland@redhat.com>

	* libdw.map (ELFUTILS_0.127): Add dwfl_module_address_section.

libdwfl/
2007-04-16  Roland McGrath  <roland@redhat.com>

	* derelocate.c (cache_sections): Apply bias to sh_addr.
	(compare_secrefs): Fix address comparison to avoid signed overflow.
	(find_section): New function, broken out of ...
	(dwfl_module_relocate_address): ... here, call it.
	(check_module): New function, broken out of ...
	(dwfl_module_relocate_address): ... here, call it.
	(dwfl_module_address_section): New function.
	* libdwfl.h: Declare it.

tests/
2007-04-16  Roland McGrath  <roland@redhat.com>

	* dwfl-addr-sect.c: New file.
	* Makefile.am (noinst_PROGRAMS): Add it.
	(dwfl_addr_sect_LDADD): New variable.

diff --git a/libdw/libdwP.h b/libdw/libdwP.h
index 8baa3fa..f069075 100644
--- a/libdw/libdwP.h
+++ b/libdw/libdwP.h
@@ -1,5 +1,5 @@
 /* Internal definitions for libdwarf.
-   Copyright (C) 2002, 2003, 2004, 2005, 2006 Red Hat, Inc.
+   Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Red Hat, Inc.
    This file is part of Red Hat elfutils.
    Written by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -209,6 +209,7 @@
 struct Dwarf_Files_s
   {
     Dwarf *dbg;
+    unsigned int ndirs;
     unsigned int nfiles;
     struct Dwarf_Fileinfo_s
     {
@@ -216,6 +217,7 @@
       Dwarf_Word mtime;
       Dwarf_Word length;
     } info[0];
+    /* nfiles of those, followed by char *[ndirs].  */
   };
 typedef struct Dwarf_Fileinfo_s Dwarf_Fileinfo;