Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/sys document all the notes we know about in a consistent...
details: https://anonhg.NetBSD.org/src/rev/a3139a99303b
branches: trunk
changeset: 767485:a3139a99303b
user: christos <christos%NetBSD.org@localhost>
date: Tue Jul 19 19:46:13 2011 +0000
description:
document all the notes we know about in a consistent fashion.
XXX: someone please document the checksum tags.
diffstat:
sys/sys/exec_elf.h | 88 +++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 74 insertions(+), 14 deletions(-)
diffs (131 lines):
diff -r 4c8c429d10a7 -r a3139a99303b sys/sys/exec_elf.h
--- a/sys/sys/exec_elf.h Tue Jul 19 19:45:36 2011 +0000
+++ b/sys/sys/exec_elf.h Tue Jul 19 19:46:13 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: exec_elf.h,v 1.113 2011/06/25 05:45:10 nonaka Exp $ */
+/* $NetBSD: exec_elf.h,v 1.114 2011/07/19 19:46:13 christos Exp $ */
/*-
* Copyright (c) 1994 The NetBSD Foundation, Inc.
@@ -169,10 +169,10 @@
/* e_ident[EI_OSABI] */
#define ELFOSABI_SYSV 0 /* UNIX System V ABI */
#define ELFOSABI_HPUX 1 /* HP-UX operating system */
-#define ELFOSABI_NETBSD 2 /* NetBSD */
+#define ELFOSABI_NETBSD 2 /* NetBSD */
#define ELFOSABI_LINUX 3 /* GNU/Linux */
-#define ELFOSABI_HURD 4 /* GNU/Hurd */
-#define ELFOSABI_86OPEN 5 /* 86Open */
+#define ELFOSABI_HURD 4 /* GNU/Hurd */
+#define ELFOSABI_86OPEN 5 /* 86Open */
#define ELFOSABI_SOLARIS 6 /* Solaris */
#define ELFOSABI_MONTEREY 7 /* Monterey */
#define ELFOSABI_IRIX 8 /* IRIX */
@@ -746,20 +746,67 @@
Elf64_Word n_type;
} Elf64_Nhdr;
-#define ELF_NOTE_TYPE_ABI_TAG 1
+#define ELF_NOTE_GNU_NAMESZ 4
+#define ELF_NOTE_GNU_NAME "GNU\0"
+/*
+ * GNU-specific note type: ABI tag
+ * name: GNU\0
+ * namesz: 4
+ * desc:
+ * word[0]: OS tag
+ * word[1]: major version
+ * word[2]: minor version
+ * word[3]: teeny version
+ * descsz: 16
+ */
/* GNU-specific note name and description sizes */
-#define ELF_NOTE_ABI_NAMESZ 4
+#define ELF_NOTE_TYPE_ABI_TAG 1
+#define ELF_NOTE_ABI_NAME ELF_NOTE_GNU_NAME
+#define ELF_NOTE_ABI_NAMESZ ELF_NOTE_GNU_NAMESZ
#define ELF_NOTE_ABI_DESCSZ 16
-/* GNU-specific note name */
-#define ELF_NOTE_ABI_NAME "GNU\0"
-
/* GNU-specific OS/version value stuff */
#define ELF_NOTE_ABI_OS_LINUX 0
#define ELF_NOTE_ABI_OS_HURD 1
#define ELF_NOTE_ABI_OS_SOLARIS 2
+#define ELF_NOTE_ABI_OS_KFREEBSD 3
+#define ELF_NOTE_ABI_OS_KNETBSD 4
-/* NetBSD-specific note type: Emulation name. desc is emul name string. */
+/*
+ * GNU-specific note type: Hardware capabilities
+ * name: GNU\0
+ * namesz: 4
+ * desc:
+ * word[0]: Number of entries
+ * word[1]: Bitmask of enabled entries
+ * Followed by a byte id, and a NUL terminated string per entry
+ * descsz: variable
+ */
+#define ELF_NOTE_TYPE_GNU_HWCAP 2
+
+/*
+ * GNU-specific note type: Build ID generated by ld
+ * name: GNU\0
+ * desc:
+ * word[0..4] SHA1 [default]
+ * or
+ * word[0..3] md5 or uuid
+ * descsz: 16 or 20
+ */
+#define ELF_NOTE_TYPE_GNU_BUILD_ID 3
+
+/* NetBSD-specific note type: Emulation name.
+ * name: NetBSD\0\0
+ * namesz: 8
+ * desc:
+ * word[0]: MMmmrrpp00
+ *
+ * M = major version
+ * m = minor version
+ * r = release ["",A-Z,Z[A-Z] but numeric]
+ * p = patchlevel
+ * descsz: 4
+ */
#define ELF_NOTE_TYPE_NETBSD_TAG 1
/* NetBSD-specific note name and description sizes */
#define ELF_NOTE_NETBSD_NAMESZ 7
@@ -767,16 +814,29 @@
/* NetBSD-specific note name */
#define ELF_NOTE_NETBSD_NAME "NetBSD\0\0"
-/* NetBSD-specific note type: Checksum. There should be 1 NOTE per PT_LOAD
- section. desc is a tuple of <phnum>(16),<chk-type>(16),<chk-value>. */
+/* NetBSD-specific note type: Checksum.
+ * There should be 1 NOTE per PT_LOAD section.
+ * name: ???
+ * namesz: ???
+ * desc:
+ * a tuple of <phnum>(16),<chk-type>(16),<chk-value>.
+ * descsz: ???
+ */
#define ELF_NOTE_TYPE_CHECKSUM_TAG 2
#define ELF_NOTE_CHECKSUM_CRC32 1
#define ELF_NOTE_CHECKSUM_MD5 2
#define ELF_NOTE_CHECKSUM_SHA1 3
#define ELF_NOTE_CHECKSUM_SHA256 4
-/* NetBSD-specific note type: PaX. There should be 1 NOTE per executable.
- section. desc is a 32 bit bitmask */
+/*
+ * NetBSD-specific note type: PaX.
+ * There should be 1 NOTE per executable.
+ * name: PaX\0
+ * namesz: 4
+ * desc:
+ * word[0]: capability bitmask
+ * descsz: 4
+ */
#define ELF_NOTE_TYPE_PAX_TAG 3
#define ELF_NOTE_PAX_MPROTECT 0x01 /* Force enable Mprotect */
#define ELF_NOTE_PAX_NOMPROTECT 0x02 /* Force disable Mprotect */
Home |
Main Index |
Thread Index |
Old Index