Add support for ELF note sections, which are used in ELF core files to
authorFred Fish <fnf@specifix.com>
Tue, 12 Nov 1991 03:06:05 +0000 (03:06 +0000)
committerFred Fish <fnf@specifix.com>
Tue, 12 Nov 1991 03:06:05 +0000 (03:06 +0000)
hold copies of various /proc structures at the time of the core dump.

include/elf-common.h
include/elf-external.h
include/elf-internal.h

index 4544debbd774a85a412046b049e083c4b6d64318..a2cb39806aab5ec31c2bec3a0a861403e44ee4c8 100755 (executable)
@@ -126,3 +126,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #define SHF_ALLOC      (1 << 1)        /* Occupies memory during execution */
 #define SHF_EXECINSTR  (1 << 2)        /* Executable machine instructions */
 #define SHF_MASKPROC   0xF0000000      /* Processor-specific semantics */
+
+/* Values of note segment descriptor types for core files. */
+
+#define NT_PRSTATUS    1               /* Contains copy of prstatus struct */
+#define NT_FPREGSET    2               /* Contains copy of fpregset struct */
+#define NT_PRPSINFO    3               /* Contains copy of prpsinfo struct */
index 2a95f26cd8b12ed52a4240cc51e580cea61b6eaf..0cc8eebe142237227d294e822b8b0298cec5b8b3 100755 (executable)
@@ -85,3 +85,12 @@ typedef struct {
   unsigned char        st_other[1];            /* No defined meaning, 0 */
   unsigned char        st_shndx[2];            /* Associated section index */
 } Elf_External_Sym;
+
+/* Note segments */
+
+typedef struct {
+  unsigned char        namesz[4];              /* Size of entry's owner string */
+  unsigned char        descsz[4];              /* Size of the note descriptor */
+  unsigned char        type[4];                /* Interpretation of the descriptor */
+  char         name[1];                /* Start of the name+desc data */
+} Elf_External_Note;
index bf5133902bc47d79738f34859029e863961e30b1..40193737ea03bd1909dcc5d7141b98d2f262cca9 100755 (executable)
@@ -96,3 +96,12 @@ typedef struct {
   Elf_Char     st_other;               /* No defined meaning, 0 */
   Elf_Half     st_shndx;               /* Associated section index */
 } Elf_Internal_Sym;
+
+/* Note segments */
+
+typedef struct {
+  Elf_Word     namesz;                 /* Size of entry's owner string */
+  Elf_Word     descsz;                 /* Size of the note descriptor */
+  Elf_Word     type;                   /* Interpretation of the descriptor */
+  char         name[1];                /* Start of the name+desc data */
+} Elf_Internal_Note;