diff options
Diffstat (limited to 'external/gpl3/binutils/dist/elfcpp/elfcpp.h')
| -rw-r--r-- | external/gpl3/binutils/dist/elfcpp/elfcpp.h | 43 |
1 files changed, 38 insertions, 5 deletions
diff --git a/external/gpl3/binutils/dist/elfcpp/elfcpp.h b/external/gpl3/binutils/dist/elfcpp/elfcpp.h index 339faadaf3f..4b0aff0da7f 100644 --- a/external/gpl3/binutils/dist/elfcpp/elfcpp.h +++ b/external/gpl3/binutils/dist/elfcpp/elfcpp.h @@ -1,6 +1,6 @@ // elfcpp.h -- main header file for elfcpp -*- C++ -*- -// Copyright (C) 2006-2020 Free Software Foundation, Inc. +// Copyright (C) 2006-2022 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of elfcpp. @@ -413,6 +413,10 @@ enum SHT // AARCH64-specific section type. SHT_AARCH64_ATTRIBUTES = 0x70000003, + // CSKY-specific section types. + // Object file compatibility attributes. + SHT_CSKY_ATTRIBUTES = 0x70000001, + // Link editor is to sort the entries in this section based on the // address specified in the associated symbol table entry. SHT_ORDERED = 0x7fffffff @@ -434,6 +438,7 @@ enum SHF SHF_TLS = 0x400, SHF_COMPRESSED = 0x800, SHF_MASKOS = 0x0ff00000, + SHF_GNU_RETAIN = 0x200000, SHF_MASKPROC = 0xf0000000, // Indicates this section requires ordering in relation to @@ -728,6 +733,7 @@ enum DT // The remaining values are extensions used by GNU or Solaris. DT_VALRNGLO = 0x6ffffd00, + DT_GNU_FLAGS_1 = 0x6ffffdf4, DT_GNU_PRELINKED = 0x6ffffdf5, DT_GNU_CONFLICTSZ = 0x6ffffdf6, DT_GNU_LIBLISTSZ = 0x6ffffdf7, @@ -913,7 +919,14 @@ enum DF_1 DF_1_INTERPOSE = 0x400, DF_1_NODEFLIB = 0x800, DF_1_NODUMP = 0x1000, - DF_1_CONLFAT = 0x2000 + DF_1_CONLFAT = 0x2000, + DF_1_PIE = 0x08000000 +}; + +// Flags found in the DT_GNU_FLAGS_1 dynamic element. +enum DF_GNU_1 +{ + DF_GNU_1_UNIQUE = 0x1, }; // Version numbers which appear in the vd_version field of a Verdef @@ -1008,9 +1021,21 @@ enum GNU_PROPERTY_STACK_SIZE = 1, GNU_PROPERTY_NO_COPY_ON_PROTECTED = 2, GNU_PROPERTY_LOPROC = 0xc0000000, - GNU_PROPERTY_X86_ISA_1_USED = 0xc0000000, - GNU_PROPERTY_X86_ISA_1_NEEDED = 0xc0000001, - GNU_PROPERTY_X86_FEATURE_1_AND = 0xc0000002, + GNU_PROPERTY_X86_COMPAT_ISA_1_USED = 0xc0000000, + GNU_PROPERTY_X86_COMPAT_ISA_1_NEEDED = 0xc0000001, + GNU_PROPERTY_X86_UINT32_AND_LO = 0xc0000002, + GNU_PROPERTY_X86_UINT32_AND_HI = 0xc0007fff, + GNU_PROPERTY_X86_UINT32_OR_LO = 0xc0008000, + GNU_PROPERTY_X86_UINT32_OR_HI = 0xc000ffff, + GNU_PROPERTY_X86_UINT32_OR_AND_LO = 0xc0010000, + GNU_PROPERTY_X86_UINT32_OR_AND_HI = 0xc0017fff, + GNU_PROPERTY_X86_COMPAT_2_ISA_1_NEEDED = GNU_PROPERTY_X86_UINT32_OR_LO + 0, + GNU_PROPERTY_X86_COMPAT_2_ISA_1_USED = GNU_PROPERTY_X86_UINT32_OR_AND_LO + 0, + GNU_PROPERTY_X86_FEATURE_1_AND = GNU_PROPERTY_X86_UINT32_AND_LO + 0, + GNU_PROPERTY_X86_ISA_1_NEEDED = GNU_PROPERTY_X86_UINT32_OR_LO + 2, + GNU_PROPERTY_X86_FEATURE_2_NEEDED = GNU_PROPERTY_X86_UINT32_OR_LO + 1, + GNU_PROPERTY_X86_ISA_1_USED = GNU_PROPERTY_X86_UINT32_OR_AND_LO + 2, + GNU_PROPERTY_X86_FEATURE_2_USED = GNU_PROPERTY_X86_UINT32_OR_AND_LO + 1, GNU_PROPERTY_HIPROC = 0xdfffffff, GNU_PROPERTY_LOUSER = 0xe0000000, GNU_PROPERTY_HIUSER = 0xffffffff @@ -1075,6 +1100,14 @@ class Ehdr get_e_ident() const { return this->p_->e_ident; } + unsigned char + get_ei_osabi() const + { return this->p_->e_ident[EI_OSABI]; } + + unsigned char + get_ei_abiversion() const + { return this->p_->e_ident[EI_ABIVERSION]; } + Elf_Half get_e_type() const { return Convert<16, big_endian>::convert_host(this->p_->e_type); } |
