diff --git a/llvm/include/llvm/BinaryFormat/ELF.h b/llvm/include/llvm/BinaryFormat/ELF.h --- a/llvm/include/llvm/BinaryFormat/ELF.h +++ b/llvm/include/llvm/BinaryFormat/ELF.h @@ -1470,9 +1470,7 @@ GNU_PROPERTY_NO_COPY_ON_PROTECTED = 2, GNU_PROPERTY_AARCH64_FEATURE_1_AND = 0xc0000000, GNU_PROPERTY_X86_FEATURE_1_AND = 0xc0000002, - GNU_PROPERTY_X86_ISA_1_NEEDED = 0xc0008000, GNU_PROPERTY_X86_FEATURE_2_NEEDED = 0xc0008001, - GNU_PROPERTY_X86_ISA_1_USED = 0xc0010000, GNU_PROPERTY_X86_FEATURE_2_USED = 0xc0010001, }; @@ -1487,31 +1485,6 @@ GNU_PROPERTY_X86_FEATURE_1_IBT = 1 << 0, GNU_PROPERTY_X86_FEATURE_1_SHSTK = 1 << 1, - GNU_PROPERTY_X86_ISA_1_CMOV = 1 << 0, - GNU_PROPERTY_X86_ISA_1_SSE = 1 << 1, - GNU_PROPERTY_X86_ISA_1_SSE2 = 1 << 2, - GNU_PROPERTY_X86_ISA_1_SSE3 = 1 << 3, - GNU_PROPERTY_X86_ISA_1_SSSE3 = 1 << 4, - GNU_PROPERTY_X86_ISA_1_SSE4_1 = 1 << 5, - GNU_PROPERTY_X86_ISA_1_SSE4_2 = 1 << 6, - GNU_PROPERTY_X86_ISA_1_AVX = 1 << 7, - GNU_PROPERTY_X86_ISA_1_AVX2 = 1 << 8, - GNU_PROPERTY_X86_ISA_1_FMA = 1 << 9, - GNU_PROPERTY_X86_ISA_1_AVX512F = 1 << 10, - GNU_PROPERTY_X86_ISA_1_AVX512CD = 1 << 11, - GNU_PROPERTY_X86_ISA_1_AVX512ER = 1 << 12, - GNU_PROPERTY_X86_ISA_1_AVX512PF = 1 << 13, - GNU_PROPERTY_X86_ISA_1_AVX512VL = 1 << 14, - GNU_PROPERTY_X86_ISA_1_AVX512DQ = 1 << 15, - GNU_PROPERTY_X86_ISA_1_AVX512BW = 1 << 16, - GNU_PROPERTY_X86_ISA_1_AVX512_4FMAPS = 1 << 17, - GNU_PROPERTY_X86_ISA_1_AVX512_4VNNIW = 1 << 18, - GNU_PROPERTY_X86_ISA_1_AVX512_BITALG = 1 << 19, - GNU_PROPERTY_X86_ISA_1_AVX512_IFMA = 1 << 20, - GNU_PROPERTY_X86_ISA_1_AVX512_VBMI = 1 << 21, - GNU_PROPERTY_X86_ISA_1_AVX512_VBMI2 = 1 << 22, - GNU_PROPERTY_X86_ISA_1_AVX512_VNNI = 1 << 23, - GNU_PROPERTY_X86_FEATURE_2_X86 = 1 << 0, GNU_PROPERTY_X86_FEATURE_2_X87 = 1 << 1, GNU_PROPERTY_X86_FEATURE_2_MMX = 1 << 2, diff --git a/llvm/test/tools/llvm-readobj/ELF/note-gnu-property.s b/llvm/test/tools/llvm-readobj/ELF/note-gnu-property.s --- a/llvm/test/tools/llvm-readobj/ELF/note-gnu-property.s +++ b/llvm/test/tools/llvm-readobj/ELF/note-gnu-property.s @@ -5,15 +5,13 @@ // GNU: Displaying notes found in: .note.gnu.property // GNU-NEXT: Owner Data size Description -// GNU-NEXT: GNU 0x000000e8 NT_GNU_PROPERTY_TYPE_0 (property note) +// GNU-NEXT: GNU 0x000000c8 NT_GNU_PROPERTY_TYPE_0 (property note) // GNU-NEXT: Properties: stack size: 0x100 // GNU-NEXT: stack size: 0x100 // GNU-NEXT: no copy on protected // GNU-NEXT: x86 feature: SHSTK // GNU-NEXT: x86 feature: IBT, SHSTK // GNU-NEXT: x86 feature: -// GNU-NEXT: x86 ISA needed: CMOV, SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2, AVX, AVX2, FMA, AVX512F, AVX512CD -// GNU-NEXT: x86 ISA used: AVX512ER, AVX512PF, AVX512VL, AVX512DQ, AVX512BW, AVX512_4FMAPS, AVX512_4VNNIW, AVX512_BITALG, AVX512_IFMA, AVX512_VBMI, AVX512_VBMI2, AVX512_VNNI // GNU-NEXT: x86 feature needed: x86, x87, MMX, XMM, YMM // GNU-NEXT: x86 feature used: ZMM, FXSR, XSAVE, XSAVEOPT, XSAVEC // GNU-NEXT: @@ -28,10 +26,10 @@ // LLVM-NEXT: NoteSection { // LLVM-NEXT: Name: .note.gnu.property // LLVM-NEXT: Offset: 0x40 -// LLVM-NEXT: Size: 0xF8 +// LLVM-NEXT: Size: 0xD8 // LLVM-NEXT: Note { // LLVM-NEXT: Owner: GNU -// LLVM-NEXT: Data size: 0xE8 +// LLVM-NEXT: Data size: 0xC8 // LLVM-NEXT: Type: NT_GNU_PROPERTY_TYPE_0 (property note) // LLVM-NEXT: Property [ // LLVM-NEXT: stack size: 0x100 @@ -40,8 +38,6 @@ // LLVM-NEXT: x86 feature: SHSTK // LLVM-NEXT: x86 feature: IBT, SHSTK // LLVM-NEXT: x86 feature: -// LLVM-NEXT: x86 ISA needed: CMOV, SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2, AVX, AVX2, FMA, AVX512F, AVX512CD -// LLVM-NEXT: x86 ISA used: AVX512ER, AVX512PF, AVX512VL, AVX512DQ, AVX512BW, AVX512_4FMAPS, AVX512_4VNNIW, AVX512_BITALG, AVX512_IFMA, AVX512_VBMI, AVX512_VBMI2, AVX512_VNNI // LLVM-NEXT: x86 feature needed: x86, x87, MMX, XMM, YMM // LLVM-NEXT: x86 feature used: ZMM, FXSR, XSAVE, XSAVEOPT, XSAVEC // LLVM-NEXT: @@ -96,16 +92,6 @@ .long 0 /* Empty flags, not an error */ .p2align 3 /* Align to 8 byte for 64 bit */ - .long 0xc0008000 /* Type: GNU_PROPERTY_X86_ISA_1_NEEDED */ - .long 4 /* Data size */ - .long 0x00000fff /* CMOV, ... */ - .p2align 3 /* Align to 8 byte for 64 bit */ - - .long 0xc0010000 /* Type: GNU_PROPERTY_X86_ISA_1_USED */ - .long 4 /* Data size */ - .long 0x00fff000 /* AVX512_ER, ... */ - .p2align 3 /* Align to 8 byte for 64 bit */ - .long 0xc0008001 /* Type: GNU_PROPERTY_X86_FEATURE_2_NEEDED */ .long 4 /* Data size */ .long 0x0000001f /* X86, ... */ diff --git a/llvm/tools/llvm-readobj/ELFDumper.cpp b/llvm/tools/llvm-readobj/ELFDumper.cpp --- a/llvm/tools/llvm-readobj/ELFDumper.cpp +++ b/llvm/tools/llvm-readobj/ELFDumper.cpp @@ -4736,47 +4736,6 @@ if (PrData) OS << format("", PrData); return OS.str(); - case GNU_PROPERTY_X86_ISA_1_NEEDED: - case GNU_PROPERTY_X86_ISA_1_USED: - OS << "x86 ISA " - << (Type == GNU_PROPERTY_X86_ISA_1_NEEDED ? "needed: " : "used: "); - if (DataSize != 4) { - OS << format("", DataSize); - return OS.str(); - } - PrData = support::endian::read32(Data.data()); - if (PrData == 0) { - OS << ""; - return OS.str(); - } - DumpBit(GNU_PROPERTY_X86_ISA_1_CMOV, "CMOV"); - DumpBit(GNU_PROPERTY_X86_ISA_1_SSE, "SSE"); - DumpBit(GNU_PROPERTY_X86_ISA_1_SSE2, "SSE2"); - DumpBit(GNU_PROPERTY_X86_ISA_1_SSE3, "SSE3"); - DumpBit(GNU_PROPERTY_X86_ISA_1_SSSE3, "SSSE3"); - DumpBit(GNU_PROPERTY_X86_ISA_1_SSE4_1, "SSE4_1"); - DumpBit(GNU_PROPERTY_X86_ISA_1_SSE4_2, "SSE4_2"); - DumpBit(GNU_PROPERTY_X86_ISA_1_AVX, "AVX"); - DumpBit(GNU_PROPERTY_X86_ISA_1_AVX2, "AVX2"); - DumpBit(GNU_PROPERTY_X86_ISA_1_FMA, "FMA"); - DumpBit(GNU_PROPERTY_X86_ISA_1_AVX512F, "AVX512F"); - DumpBit(GNU_PROPERTY_X86_ISA_1_AVX512CD, "AVX512CD"); - DumpBit(GNU_PROPERTY_X86_ISA_1_AVX512ER, "AVX512ER"); - DumpBit(GNU_PROPERTY_X86_ISA_1_AVX512PF, "AVX512PF"); - DumpBit(GNU_PROPERTY_X86_ISA_1_AVX512VL, "AVX512VL"); - DumpBit(GNU_PROPERTY_X86_ISA_1_AVX512DQ, "AVX512DQ"); - DumpBit(GNU_PROPERTY_X86_ISA_1_AVX512BW, "AVX512BW"); - DumpBit(GNU_PROPERTY_X86_ISA_1_AVX512_4FMAPS, "AVX512_4FMAPS"); - DumpBit(GNU_PROPERTY_X86_ISA_1_AVX512_4VNNIW, "AVX512_4VNNIW"); - DumpBit(GNU_PROPERTY_X86_ISA_1_AVX512_BITALG, "AVX512_BITALG"); - DumpBit(GNU_PROPERTY_X86_ISA_1_AVX512_IFMA, "AVX512_IFMA"); - DumpBit(GNU_PROPERTY_X86_ISA_1_AVX512_VBMI, "AVX512_VBMI"); - DumpBit(GNU_PROPERTY_X86_ISA_1_AVX512_VBMI2, "AVX512_VBMI2"); - DumpBit(GNU_PROPERTY_X86_ISA_1_AVX512_VNNI, "AVX512_VNNI"); - if (PrData) - OS << format("", PrData); - return OS.str(); - break; case GNU_PROPERTY_X86_FEATURE_2_NEEDED: case GNU_PROPERTY_X86_FEATURE_2_USED: OS << "x86 feature "