From 7151edcfd881fac54caad6ad32aa65823138c53e Mon Sep 17 00:00:00 2001 From: Chris Demetriou Date: Mon, 21 Jul 2008 05:05:23 +0000 Subject: 2008-07-20 Sergei Poselenov Chris Demetriou * 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. --- gdb/ChangeLog | 7 +++++++ gdb/elfread.c | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) 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 + Chris Demetriou + + * 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 * 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; -- cgit v1.2.1