aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/ChangeLog42
-rw-r--r--include/elf/common.h46
2 files changed, 88 insertions, 0 deletions
diff --git a/include/ChangeLog b/include/ChangeLog
index 17e1752..904c20a 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,45 @@
+2017-03-01 Nick Clifton <nickc@redhat.com>
+
+ * elf/common.h (SHF_GNU_BUILD_NOTE): Define.
+ (NT_GNU_PROPERTY_TYPE_0): Define.
+ (NT_GNU_BUILD_ATTRIBUTE_OPEN): Define.
+ (NT_GNU_BUILD_ATTRIBUTE_FUN): Define.
+ (GNU_BUILD_ATTRIBUTE_TYPE_NUMERIC): Define.
+ (GNU_BUILD_ATTRIBUTE_TYPE_STRING): Define.
+ (GNU_BUILD_ATTRIBUTE_TYPE_BOOL_TRUE): Define.
+ (GNU_BUILD_ATTRIBUTE_TYPE_BOOL_FALSE): Define.
+ (GNU_BUILD_ATTRIBUTE_VERSION): Define.
+ (GNU_BUILD_ATTRIBUTE_STACK_PROT): Define.
+ (GNU_BUILD_ATTRIBUTE_RELRO): Define.
+ (GNU_BUILD_ATTRIBUTE_STACK_SIZE): Define.
+ (GNU_BUILD_ATTRIBUTE_TOOL): Define.
+ (GNU_BUILD_ATTRIBUTE_ABI): Define.
+ (GNU_BUILD_ATTRIBUTE_PIC): Define.
+ (NOTE_GNU_PROPERTY_SECTION_NAME): Define.
+ (GNU_BUILD_ATTRS_SECTION_NAME): Define.
+ (GNU_PROPERTY_STACK_SIZE): Define.
+ (GNU_PROPERTY_NO_COPY_ON_PROTECTED): Define.
+ (GNU_PROPERTY_X86_ISA_1_USED): Define.
+ (GNU_PROPERTY_X86_ISA_1_NEEDED): Define.
+ (GNU_PROPERTY_X86_ISA_1_486): Define.
+ (GNU_PROPERTY_X86_ISA_1_586): Define.
+ (GNU_PROPERTY_X86_ISA_1_686): Define.
+ (GNU_PROPERTY_X86_ISA_1_SSE): Define.
+ (GNU_PROPERTY_X86_ISA_1_SSE2): Define.
+ (GNU_PROPERTY_X86_ISA_1_SSE3): Define.
+ (GNU_PROPERTY_X86_ISA_1_SSSE3): Define.
+ (GNU_PROPERTY_X86_ISA_1_SSE4_1): Define.
+ (GNU_PROPERTY_X86_ISA_1_SSE4_2): Define.
+ (GNU_PROPERTY_X86_ISA_1_AVX): Define.
+ (GNU_PROPERTY_X86_ISA_1_AVX2): Define.
+ (GNU_PROPERTY_X86_ISA_1_AVX512F): Define.
+ (GNU_PROPERTY_X86_ISA_1_AVX512CD): Define.
+ (GNU_PROPERTY_X86_ISA_1_AVX512ER): Define.
+ (GNU_PROPERTY_X86_ISA_1_AVX512PF): Define.
+ (GNU_PROPERTY_X86_ISA_1_AVX512VL): Define.
+ (GNU_PROPERTY_X86_ISA_1_AVX512DQ): Define.
+ (GNU_PROPERTY_X86_ISA_1_AVX512BW): Define.
+
2017-02-28 Peter Bergner <bergner@vnet.ibm.com>
* dis-asm.h (disasm_options_t): New typedef.
diff --git a/include/elf/common.h b/include/elf/common.h
index 834c859..2b9bca6 100644
--- a/include/elf/common.h
+++ b/include/elf/common.h
@@ -537,6 +537,7 @@
/* #define SHF_MASKOS 0x0F000000 *//* OS-specific semantics */
#define SHF_MASKOS 0x0FF00000 /* New value, Oct 4, 1999 Draft */
+#define SHF_GNU_BUILD_NOTE (1 << 20) /* Section contains GNU BUILD ATTRIBUTE notes. */
#define SHF_MASKPROC 0xF0000000 /* Processor-specific semantics */
/* This used to be implemented as a processor specific section flag.
@@ -670,6 +671,51 @@
#define NT_GNU_HWCAP 2 /* Used by ld.so and kernel vDSO. */
#define NT_GNU_BUILD_ID 3 /* Generated by ld --build-id. */
#define NT_GNU_GOLD_VERSION 4 /* Generated by gold. */
+#define NT_GNU_PROPERTY_TYPE_0 5 /* Generated by gcc. */
+
+#define NT_GNU_BUILD_ATTRIBUTE_OPEN 0x100
+#define NT_GNU_BUILD_ATTRIBUTE_FUNC 0x101
+
+#define GNU_BUILD_ATTRIBUTE_TYPE_NUMERIC '*'
+#define GNU_BUILD_ATTRIBUTE_TYPE_STRING '$'
+#define GNU_BUILD_ATTRIBUTE_TYPE_BOOL_TRUE '+'
+#define GNU_BUILD_ATTRIBUTE_TYPE_BOOL_FALSE '!'
+
+#define GNU_BUILD_ATTRIBUTE_VERSION 1
+#define GNU_BUILD_ATTRIBUTE_STACK_PROT 2
+#define GNU_BUILD_ATTRIBUTE_RELRO 3
+#define GNU_BUILD_ATTRIBUTE_STACK_SIZE 4
+#define GNU_BUILD_ATTRIBUTE_TOOL 5
+#define GNU_BUILD_ATTRIBUTE_ABI 6
+#define GNU_BUILD_ATTRIBUTE_PIC 7
+
+#define NOTE_GNU_PROPERTY_SECTION_NAME ".note.gnu.property"
+#define GNU_BUILD_ATTRS_SECTION_NAME ".gnu.build.attributes"
+
+/* Values used in GNU .note.gnu.property notes (NT_GNU_PROPERTY_TYPE_0). */
+#define GNU_PROPERTY_STACK_SIZE 1
+#define GNU_PROPERTY_NO_COPY_ON_PROTECTED 2
+#define GNU_PROPERTY_X86_ISA_1_USED 0xc0000000
+#define GNU_PROPERTY_X86_ISA_1_NEEDED 0xc0000001
+
+#define GNU_PROPERTY_X86_ISA_1_486 (1U << 0)
+#define GNU_PROPERTY_X86_ISA_1_586 (1U << 1)
+#define GNU_PROPERTY_X86_ISA_1_686 (1U << 2)
+#define GNU_PROPERTY_X86_ISA_1_SSE (1U << 3)
+#define GNU_PROPERTY_X86_ISA_1_SSE2 (1U << 4)
+#define GNU_PROPERTY_X86_ISA_1_SSE3 (1U << 5)
+#define GNU_PROPERTY_X86_ISA_1_SSSE3 (1U << 6)
+#define GNU_PROPERTY_X86_ISA_1_SSE4_1 (1U << 7)
+#define GNU_PROPERTY_X86_ISA_1_SSE4_2 (1U << 8)
+#define GNU_PROPERTY_X86_ISA_1_AVX (1U << 9)
+#define GNU_PROPERTY_X86_ISA_1_AVX2 (1U << 10)
+#define GNU_PROPERTY_X86_ISA_1_AVX512F (1U << 11)
+#define GNU_PROPERTY_X86_ISA_1_AVX512CD (1U << 12)
+#define GNU_PROPERTY_X86_ISA_1_AVX512ER (1U << 13)
+#define GNU_PROPERTY_X86_ISA_1_AVX512PF (1U << 14)
+#define GNU_PROPERTY_X86_ISA_1_AVX512VL (1U << 15)
+#define GNU_PROPERTY_X86_ISA_1_AVX512DQ (1U << 16)
+#define GNU_PROPERTY_X86_ISA_1_AVX512BW (1U << 17)
/* Values used in GNU .note.ABI-tag notes (NT_GNU_ABI_TAG). */
#define GNU_ABI_TAG_LINUX 0