diff options
author | Chris Demetriou <cgd@google.com> | 2008-07-21 05:05:23 +0000 |
---|---|---|
committer | Chris Demetriou <cgd@google.com> | 2008-07-21 05:05:23 +0000 |
commit | 7151edcfd881fac54caad6ad32aa65823138c53e (patch) | |
tree | 70f441c10a924cd9b40fe3fa04ee9d6000c81e64 | |
parent | edd84ded2063f4a7c0dad525df3c1a003b1791a0 (diff) | |
download | gdb-7151edcfd881fac54caad6ad32aa65823138c53e.tar.gz |
2008-07-20 Sergei Poselenov <sposelenov@emcraft.com>
Chris Demetriou <cgd@google.com>
* elfread.c (elf_symfile_segments): Fix the check that each loadable
section fits within an ELF segment to handle ELF segments that hit
the end of the address space.
-rw-r--r-- | gdb/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/elfread.c | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index d3e5943c8c9..73c032ceec8 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2008-07-20 Sergei Poselenov <sposelenov@emcraft.com> + Chris Demetriou <cgd@google.com> + + * elfread.c (elf_symfile_segments): Fix the check that each loadable + section fits within an ELF segment to handle ELF segments that hit + the end of the address space. + 2008-07-20 Chris Demetriou <cgd@google.com> * MAINTAINERS (Write After Approval): Add self. diff --git a/gdb/elfread.c b/gdb/elfread.c index 363702a99fc..0b082472bb8 100644 --- a/gdb/elfread.c +++ b/gdb/elfread.c @@ -108,7 +108,7 @@ elf_symfile_segments (bfd *abfd) for (j = 0; j < num_segments; j++) if (segments[j]->p_memsz > 0 && vma >= segments[j]->p_vaddr - && vma < segments[j]->p_vaddr + segments[j]->p_memsz) + && (vma - segments[j]->p_vaddr) < segments[j]->p_memsz) { data->segment_info[i] = j + 1; break; |