Re: syms_from_objfile() warnings and win32-nat.c IO redirection (Was: suppress annoying warnings about cygwin1.dbg)

Daniel Jacobowitz
2007-10-24T18:42:14Z

On Sat, Oct 13, 2007 at 02:21:56AM +0100, Pedro Alves wrote:
> if (lower_sect == NULL)
> - warning (_("no loadable sections found in added symbol-file %s"),
> - objfile->name);
> - else
> - if ((bfd_get_section_flags (objfile->obfd, lower_sect) & SEC_CODE) == 0)
> - warning (_("Lowest section in %s is %s at %s"),
> - objfile->name,
> - bfd_section_name (objfile->obfd, lower_sect),
> - paddr (bfd_section_vma (objfile->obfd, lower_sect)));
> - if (lower_sect != NULL)
> - lower_offset = bfd_section_vma (objfile->obfd, lower_sect);
> - else

Removing these warnings seems reasonable. I'll be glad to be rid of
them on GNU/Linux too:

warning: Lowest section in system-supplied DSO at 0xffffe000 is .hash at ffffe0b4

> + else
> + {
> + int flags = bfd_get_section_flags (objfile->obfd, lower_sect);
> + if (flags == 0)
> + warning (_("Lowest section in %s is %s at %s"),
> + objfile->name,
> + bfd_section_name (objfile->obfd, lower_sect),
> + paddr (bfd_section_vma (objfile->obfd, lower_sect)));
> +
> + lower_offset = bfd_section_vma (objfile->obfd, lower_sect);
> + }

But why are you keeping this warning? I'm not sure what flags == 0
checks, but it's very unlikely to be true; most sections will have
SEC_READONLY set.

> @@ -860,12 +860,7 @@ syms_from_objfile (struct objfile *objfi
> addrs->other[i].sectindex = sect->index ;
> }
> else
> - {
> - warning (_("section %s not found in %s"),
> - addrs->other[i].name,
> - objfile->name);
> - addrs->other[i].addr = 0;
> - }
> + addrs->other[i].addr = 0;
> }
> else
> addrs->other[i].addr = lower_offset;

I know you needed this one before because win32-nat.c specified an
offset for .text manually. I don't think it does so any more, though.
This one's useful, since you can provoke it with a typo:

(gdb) add-symbol-file cat 1000 -s .dataz 24
add symbol table from file "cat" at
.text_addr = 0x3e8
.dataz_addr = 0x18
(y or n) y
Reading symbols from /bin/cat...warning: section .dataz not found in /bin/cat

--
Daniel Jacobowitz
CodeSourcery