Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/external/gpl3/gdb/dist/gdb PR/46068: Fix symbol loading on i...



details:   https://anonhg.NetBSD.org/src/rev/b4cd0b27550e
branches:  trunk
changeset: 777600:b4cd0b27550e
user:      christos <christos%NetBSD.org@localhost>
date:      Fri Feb 24 22:41:12 2012 +0000

description:
PR/46068: Fix symbol loading on i386 kernels. On i386 lma != vma and gdb7
depends on them being != to detect overlays and avoid loading them. I've
disabled the test for now.

diffstat:

 external/gpl3/gdb/dist/gdb/objfiles.c |  8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diffs (25 lines):

diff -r e0a03739c9a9 -r b4cd0b27550e external/gpl3/gdb/dist/gdb/objfiles.c
--- a/external/gpl3/gdb/dist/gdb/objfiles.c     Fri Feb 24 19:53:31 2012 +0000
+++ b/external/gpl3/gdb/dist/gdb/objfiles.c     Fri Feb 24 22:41:12 2012 +0000
@@ -1125,6 +1125,13 @@
 insert_section_p (const struct bfd *abfd,
                  const struct bfd_section *section)
 {
+#ifndef __NetBSD__
+  /*
+   * On NetBSD we don't typically have overlay sections and in some of
+   * our kernels (i386 vma = lma | 0xc0000000), so the following test
+   * makes kernels not load any symbols. There must be a better way to
+   * detect overlays.
+   */
   const bfd_vma lma = bfd_section_lma (abfd, section);
 
   if (lma != 0 && lma != bfd_section_vma (abfd, section)
@@ -1133,6 +1140,7 @@
        discarding sections from the "system supplied DSO" (aka vdso)
        on some Linux systems (e.g. Fedora 11).  */
     return 0;
+#endif
   if ((bfd_get_section_flags (abfd, section) & SEC_THREAD_LOCAL) != 0)
     /* This is a TLS section.  */
     return 0;



Home | Main Index | Thread Index | Old Index