Hello again, Sorry, previous patch is wrong, please ignore. Attached is the correct one. Regards, Sergei Sergei Poselenov wrote: > Hello Daniel, > > Daniel Jacobowitz wrote: >> On Fri, Dec 14, 2007 at 01:27:33PM +0300, Sergei Poselenov wrote: >>> You see, the warnings are caused by the fact that the segment 01 has >>> address/size values which wraps to 0 in the following 'if' condition >>> introduced by the $subj in elfread.c, elf_symfile_segments(): >>> ... >>> && vma < segments[j]->p_vaddr + segments[j]->p_memsz) >> >> Drat. Yes, this just seems like a bug. I'll try to fix it later. >> > > Please review attached. > >>> The place above is trivial to fix, but I wonder will be any >>> other consequences to the remote debugging of such kind of >>> images? (I can't try this at the moment) >> >> I don't think there should be any problems. There would be a little >> trouble debugging code from those sections if the image was relocated >> (qOffsets response), but yours shouldn't be; it goes at the address in >> the ELF file. >> > OK, thanks. > > Regards, > Sergei > > > ------------------------------------------------------------------------ > > --- gdb-6.7/gdb/elfread.c.orig 2007-12-19 16:27:32.000000000 +0100 > +++ gdb-6.7/gdb/elfread.c 2007-12-19 16:32:21.000000000 +0100 > @@ -107,7 +107,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;