Source-Changes-HG archive

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

[src/trunk]: src/external/gpl3 elfcore_grok_netbsd_note: sync SuperH PT_GETRE...



details:   https://anonhg.NetBSD.org/src/rev/3df574ded1a9
branches:  trunk
changeset: 770760:3df574ded1a9
user:      uwe <uwe%NetBSD.org@localhost>
date:      Tue Nov 01 00:31:38 2011 +0000

description:
elfcore_grok_netbsd_note: sync SuperH PT_GETREGS value with reality.
Recognize PT_GETFPREGS that we don't yet actually have, but for which
the number is now reserved.

diffstat:

 external/gpl3/binutils/dist/bfd/elf.c |  17 +++++++++++++++++
 external/gpl3/gdb/dist/bfd/elf.c      |  17 +++++++++++++++++
 2 files changed, 34 insertions(+), 0 deletions(-)

diffs (54 lines):

diff -r 442c51843b7a -r 3df574ded1a9 external/gpl3/binutils/dist/bfd/elf.c
--- a/external/gpl3/binutils/dist/bfd/elf.c     Mon Oct 31 23:30:27 2011 +0000
+++ b/external/gpl3/binutils/dist/bfd/elf.c     Tue Nov 01 00:31:38 2011 +0000
@@ -8502,6 +8502,23 @@
          return TRUE;
        }
 
+      /* On SuperH, PT_GETREGS == mach+3 and PT_GETFPREGS == mach+5.
+        There's also old PT___GETREGS40 == mach + 1 for old reg
+        structure which lacks GBR.  */
+
+    case bfd_arch_sh:
+      switch (note->type)
+       {
+       case NT_NETBSDCORE_FIRSTMACH+3:
+         return elfcore_make_note_pseudosection (abfd, ".reg", note);
+
+       case NT_NETBSDCORE_FIRSTMACH+5:
+         return elfcore_make_note_pseudosection (abfd, ".reg2", note);
+
+       default:
+         return TRUE;
+       }
+
       /* On all other arch's, PT_GETREGS == mach+1 and
         PT_GETFPREGS == mach+3.  */
 
diff -r 442c51843b7a -r 3df574ded1a9 external/gpl3/gdb/dist/bfd/elf.c
--- a/external/gpl3/gdb/dist/bfd/elf.c  Mon Oct 31 23:30:27 2011 +0000
+++ b/external/gpl3/gdb/dist/bfd/elf.c  Tue Nov 01 00:31:38 2011 +0000
@@ -8495,6 +8495,23 @@
          return TRUE;
        }
 
+      /* On SuperH, PT_GETREGS == mach+3 and PT_GETFPREGS == mach+5.
+        There's also old PT___GETREGS40 == mach + 1 for old reg
+        structure which lacks GBR.  */
+
+    case bfd_arch_sh:
+      switch (note->type)
+       {
+       case NT_NETBSDCORE_FIRSTMACH+3:
+         return elfcore_make_note_pseudosection (abfd, ".reg", note);
+
+       case NT_NETBSDCORE_FIRSTMACH+5:
+         return elfcore_make_note_pseudosection (abfd, ".reg2", note);
+
+       default:
+         return TRUE;
+       }
+
       /* On all other arch's, PT_GETREGS == mach+1 and
         PT_GETFPREGS == mach+3.  */
 



Home | Main Index | Thread Index | Old Index