aboutsummaryrefslogtreecommitdiff
path: root/elfcpp
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>2008-03-25 05:00:01 +0000
committerIan Lance Taylor <ian@airs.com>2008-03-25 05:00:01 +0000
commitbaf4901374130b96e5d3792794b29b8dfb46dd32 (patch)
treee60b60c23819d6273b21e0c606a586cdba5a456d /elfcpp
parent15397d0b2404361bf9c5df3017cba3632ef2888b (diff)
downloadfsf-binutils-gdb-baf4901374130b96e5d3792794b29b8dfb46dd32.zip
fsf-binutils-gdb-baf4901374130b96e5d3792794b29b8dfb46dd32.tar.gz
fsf-binutils-gdb-baf4901374130b96e5d3792794b29b8dfb46dd32.tar.bz2
* elfcpp.h (NT_VERSION, NT_ARCH): Define as enum constants.
(NT_GNU_ABI_TAG, NT_GNU_HWCAP): Likewise. (NT_GNU_BUILD_ID, NT_GNU_GOLD_VERSION): Likewise. (ELF_NOTE_OS_LINUX, ELF_NOTE_OS_GNU): Likewise. (ELF_NOTE_OS_SOLARIS2, ELF_NOTE_OS_NETBSD): Likewise. (ELF_NOTE_OS_SYLLABLE): Likewise.
Diffstat (limited to 'elfcpp')
-rw-r--r--elfcpp/ChangeLog9
-rw-r--r--elfcpp/elfcpp.h48
2 files changed, 57 insertions, 0 deletions
diff --git a/elfcpp/ChangeLog b/elfcpp/ChangeLog
index cd8a4b0..a35c6ef 100644
--- a/elfcpp/ChangeLog
+++ b/elfcpp/ChangeLog
@@ -1,3 +1,12 @@
+2008-03-24 Ian Lance Taylor <iant@google.com>
+
+ * elfcpp.h (NT_VERSION, NT_ARCH): Define as enum constants.
+ (NT_GNU_ABI_TAG, NT_GNU_HWCAP): Likewise.
+ (NT_GNU_BUILD_ID, NT_GNU_GOLD_VERSION): Likewise.
+ (ELF_NOTE_OS_LINUX, ELF_NOTE_OS_GNU): Likewise.
+ (ELF_NOTE_OS_SOLARIS2, ELF_NOTE_OS_NETBSD): Likewise.
+ (ELF_NOTE_OS_SYLLABLE): Likewise.
+
2008-03-21 Ian Lance Taylor <iant@google.com>
* Added source code to GNU binutils.
diff --git a/elfcpp/elfcpp.h b/elfcpp/elfcpp.h
index dae0434..67dca8e 100644
--- a/elfcpp/elfcpp.h
+++ b/elfcpp/elfcpp.h
@@ -694,6 +694,54 @@ const int VERSYM_HIDDEN = 0x8000;
const int VERSYM_VERSION = 0x7fff;
+// Note descriptor type codes for notes in a non-core file with an
+// empty name.
+
+enum
+{
+ // A version string.
+ NT_VERSION = 1,
+ // An architecture string.
+ NT_ARCH = 2
+};
+
+// Note descriptor type codes for notes in a non-core file with the
+// name "GNU".
+
+enum
+{
+ // The minimum ABI level. This is used by the dynamic linker to
+ // describe the minimal kernel version on which a shared library may
+ // be used. Th value should be four words. Word 0 is an OS
+ // descriptor (see below). Word 1 is the major version of the ABI.
+ // Word 2 is the minor version. Word 3 is the subminor version.
+ NT_GNU_ABI_TAG = 1,
+ // Hardware capabilities information. Word 0 is the number of
+ // entries. Word 1 is a bitmask of enabled entries. The rest of
+ // the descriptor is a series of entries, where each entry is a
+ // single byte followed by a nul terminated string. The byte gives
+ // the bit number to test if enabled in the bitmask.
+ NT_GNU_HWCAP = 2,
+ // The build ID as set by the linker's --build-id option. The
+ // format of the descriptor depends on the build ID style.
+ NT_GNU_BUILD_ID = 3,
+ // The version of gold used to link. Th descriptor is just a
+ // string.
+ NT_GNU_GOLD_VERSION = 4
+};
+
+// The OS values which may appear in word 0 of a NT_GNU_ABI_TAG note.
+
+enum
+{
+ ELF_NOTE_OS_LINUX = 0,
+ ELF_NOTE_OS_GNU = 1,
+ ELF_NOTE_OS_SOLARIS2 = 2,
+ ELF_NOTE_OS_FREEBSD = 3,
+ ELF_NOTE_OS_NETBSD = 4,
+ ELF_NOTE_OS_SYLLABLE = 5
+};
+
} // End namespace elfcpp.
// Include internal details after defining the types.