OSDN Git Service

2008-07-20 Sergei Poselenov <sposelenov@emcraft.com>
authorcgd <cgd>
Mon, 21 Jul 2008 05:05:22 +0000 (05:05 +0000)
committercgd <cgd>
Mon, 21 Jul 2008 05:05:22 +0000 (05:05 +0000)
            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.

gdb/ChangeLog
gdb/elfread.c

index d3e5943..73c032c 100644 (file)
@@ -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.
index 363702a..0b08247 100644 (file)
@@ -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;