* readelf.c (get_stapsdt_note_type): New function.
authorTom Tromey <tromey@redhat.com>
Tue, 26 Apr 2011 13:09:10 +0000 (13:09 +0000)
committerTom Tromey <tromey@redhat.com>
Tue, 26 Apr 2011 13:09:10 +0000 (13:09 +0000)
(process_note): Recognize "stapsdt" notes.

binutils/ChangeLog
binutils/readelf.c

index 22e6049..e925742 100644 (file)
@@ -1,5 +1,10 @@
 2011-04-21  Tom Tromey  <tromey@redhat.com>
 
+       * readelf.c (get_stapsdt_note_type): New function.
+       (process_note): Recognize "stapsdt" notes.
+
+2011-04-21  Tom Tromey  <tromey@redhat.com>
+
        * readelf.c (process_corefile_note_segment): Change header field
        widths.
        (process_note): Change field widths.
index 1ff1fce..339ef2e 100644 (file)
@@ -12351,6 +12351,24 @@ get_netbsd_elfcore_note_type (unsigned e_type)
 }
 
 static const char *
+get_stapsdt_note_type (unsigned e_type)
+{
+  static char buff[64];
+
+  switch (e_type)
+    {
+    case NT_STAPSDT:
+      return _("NT_STAPSDT (SystemTap probe descriptors)");
+
+    default:
+      break;
+    }
+
+  snprintf (buff, sizeof (buff), _("Unknown note type: (0x%08x)"), e_type);
+  return buff;
+}
+
+static const char *
 get_ia64_vms_note_type (unsigned e_type)
 {
   static char buff[64];
@@ -12496,6 +12514,9 @@ process_note (Elf_Internal_Note * pnote)
     /* VMS/ia64-specific file notes.  */
     nt = get_ia64_vms_note_type (pnote->type);
 
+  else if (const_strneq (pnote->namedata, "stapsdt"))
+    nt = get_stapsdt_note_type (pnote->type);
+
   else
     /* Don't recognize this note name; just use the default set of
        note type strings.  */