summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Jacobowitz <dan@debian.org>2006-07-11 20:37:02 +0000
committerDaniel Jacobowitz <dan@debian.org>2006-07-11 20:37:02 +0000
commite50b6b094cb2b262cf4d09d5a5da6f39970ddf56 (patch)
tree8e822bd75a31457b23e9089bc78f4078a962db6b
parent59cb445da850c0a0f95ffc42761873abd893f80c (diff)
downloadgdb-e50b6b094cb2b262cf4d09d5a5da6f39970ddf56.tar.gz
gdb/
* symfile.c (symfile_section_offset_from_segment): Correct last change. * solib.c (solib_open): Always set errno.
-rw-r--r--ChangeLog.csl8
-rw-r--r--gdb/solib.c6
-rw-r--r--gdb/symfile.c7
3 files changed, 18 insertions, 3 deletions
diff --git a/ChangeLog.csl b/ChangeLog.csl
index be6a5463074..c892b22aa41 100644
--- a/ChangeLog.csl
+++ b/ChangeLog.csl
@@ -1,6 +1,14 @@
2006-07-11 Daniel Jacobowitz <dan@codesourcery.com>
gdb/
+ * symfile.c (symfile_section_offset_from_segment): Correct
+ last change.
+
+ * solib.c (solib_open): Always set errno.
+
+2006-07-11 Daniel Jacobowitz <dan@codesourcery.com>
+
+ gdb/
* symfile.c (symfile_map_offsets_to_segments): Don't warn
for empty sections.
(symfile_section_offset_from_segment): Likewise.
diff --git a/gdb/solib.c b/gdb/solib.c
index f55837694b2..d2b7b9979b8 100644
--- a/gdb/solib.c
+++ b/gdb/solib.c
@@ -153,6 +153,12 @@ solib_open (char *in_pathname, char **found_pathname)
char *temp_pathname = NULL;
char *p;
+ /* By default, return ENOENT. We must set this explicitly because
+ we don't know whether any of the various calls to open or openp
+ below will actually be made; if none of them are, return this
+ instead of whatever errno was on entry. */
+ errno = ENOENT;
+
/* If solib-symbols-extension is set, replace the file's extension. */
if (solib_symbols_extension && *solib_symbols_extension)
{
diff --git a/gdb/symfile.c b/gdb/symfile.c
index 469867bcbdc..3279ec00d7c 100644
--- a/gdb/symfile.c
+++ b/gdb/symfile.c
@@ -3882,10 +3882,11 @@ symfile_section_offset_from_segment (bfd *abfd, asection *sect,
&& vma < data_segment.p_vaddr + data_segment.p_memsz)
return data_offset;
- else if (bfd_get_section_size (sect) > 0)
+ else
{
- warning (_("Loadable segment \"%s\" outside of ELF segments"),
- bfd_section_name (abfd, sect));
+ if (bfd_get_section_size (sect) > 0)
+ warning (_("Loadable segment \"%s\" outside of ELF segments"),
+ bfd_section_name (abfd, sect));
return 0;
}
}