Bug 26703 - Support x86 micro-architecture ISA level marker
Summary: Support x86 micro-architecture ISA level marker
Status: RESOLVED FIXED
Alias: None
Product: binutils
Classification: Unclassified
Component: gas (show other bugs)
Version: 2.36
: P2 normal
Target Milestone: 2.36
Assignee: Not yet assigned to anyone
URL: https://sourceware.org/pipermail/binu...
Keywords:
Depends on:
Blocks:
 
Reported: 2020-10-03 15:45 UTC by H.J. Lu
Modified: 2020-10-30 14:18 UTC (History)
0 users

See Also:
Host:
Target: i386,x86-64
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description H.J. Lu 2020-10-03 15:45:47 UTC
GCC 11 supports -march=x86-64-v[234] to enable x86 micro-architecture ISA
levels:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97250

Support GNU_PROPERTY_X86_ISA_1_V[234] marker:

https://gitlab.com/x86-psABIs/x86-64-ABI/-/merge_requests/13

in x86 ELF binaries to indicate that micro-architecture ISA levels required
to execute the binary.
Comment 1 H.J. Lu 2020-10-04 16:44:46 UTC
A patch is posted at

https://sourceware.org/pipermail/binutils/2020-October/113593.html
Comment 2 Sourceware Commits 2020-10-09 12:17:42 UTC
The master branch has been updated by H.J. Lu <hjl@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=32930e4edbc06bc6f10c435dbcc63131715df678

commit 32930e4edbc06bc6f10c435dbcc63131715df678
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Oct 9 05:05:57 2020 -0700

    x86: Support GNU_PROPERTY_X86_ISA_1_V[234] marker
    
    GCC 11 supports -march=x86-64-v[234] to enable x86 micro-architecture ISA
    levels:
    
    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97250
    
    Update GNU_PROPERTY_X86_ISA_1_XXX macros:
    
    https://gitlab.com/x86-psABIs/x86-64-ABI/-/merge_requests/13
    
    in x86 ELF binaries to indicate that micro-architecture ISA levels
    required to execute the binary:
    
     #define GNU_PROPERTY_X86_ISA_1_NEEDED (GNU_PROPERTY_X86_UINT32_OR_LO + 2)
     #define GNU_PROPERTY_X86_ISA_1_USED (GNU_PROPERTY_X86_UINT32_OR_AND_LO + 2)
     #define GNU_PROPERTY_X86_ISA_1_V2 (1U << 0)
     #define GNU_PROPERTY_X86_ISA_1_V3 (1U << 1)
     #define GNU_PROPERTY_X86_ISA_1_V4 (1U << 2)
    
    The previous GNU_PROPERTY_X86_ISA_1_XXX  macros are deprecated and renamed
    to GNU_PROPERTY_X86_COMPAT_2_ISA_1_XXX.
    
    In addition to EM_X86_64, GNU_PROPERTY_X86_ISA_1_V[234] marker can be used
    by ld.so to detect the x86-64-v4 shared library placed in an x86-64-v2
    directory by mistake on an x86-64-v2 machine to avoid crashes on x86-64-v4
    instructions.
    
    Add -z x86-64-v[234] linker command line option to mark x86-64-v[234]
    ISA level as needed.
    
    Also add
    
     #define GNU_PROPERTY_X86_FEATURE_2_MASK (1U << 11)
    
    for mask registers.
    
    bfd/
    
            PR gas/26703
            * elf-linker-x86.h (elf_linker_x86_params): Add isa_level.
            * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Merge
            GNU_PROPERTY_X86_ISA_1_V[234].
            (_bfd_x86_elf_link_setup_gnu_properties): Generate
            GNU_PROPERTY_X86_ISA_1_V[234] for -z x86-64-v[234].
    
    binutils/
    
            PR gas/26703
            * readelf.c (decode_x86_compat_2_isa): New function.
            (decode_x86_isa): Updated for new X86_ISA_1_XXX bits.
            (decode_x86_feature_1): Handle GNU_PROPERTY_X86_FEATURE_2_MASK.
            (print_gnu_property_note): Handle X86_COMPAT_2_ISA_1_USED,
            and X86_COMPAT_2_ISA_1_NEEDED.
            * testsuite/binutils-all/i386/pr21231b.s: Updated to the current
            GNU_PROPERTY_X86_ISA_1_USED and GNU_PROPERTY_X86_ISA_1_NEEDED
            values.
            * testsuite/binutils-all/x86-64/pr21231b.s: Likewise.
            * testsuite/binutils-all/x86-64/pr23494a.s: Likewise.
            * testsuite/binutils-all/x86-64/pr23494b.s: Likewise.
            * testsuite/binutils-all/x86-64/pr23494c.s: Likewise.
            * testsuite/binutils-all/i386/empty.d: Updated.
            * testsuite/binutils-all/i386/ibt.d: Likewise.
            * testsuite/binutils-all/i386/pr21231a.d: Likewise.
            * testsuite/binutils-all/i386/pr21231b.d: Likewise.
            * testsuite/binutils-all/i386/shstk.d: Likewise.
            * testsuite/binutils-all/x86-64/empty-x32.d: Likewise.
            * testsuite/binutils-all/x86-64/empty.d: Likewise.
            * testsuite/binutils-all/x86-64/ibt-x32.d: Likewise.
            * testsuite/binutils-all/x86-64/ibt.d: Likewise.
            * testsuite/binutils-all/x86-64/pr21231a.d: Likewise.
            * testsuite/binutils-all/x86-64/pr21231b.d: Likewise.
            * testsuite/binutils-all/x86-64/pr23494a-x32.d: Likewise.
            * testsuite/binutils-all/x86-64/pr23494a.d: Likewise.
            * testsuite/binutils-all/x86-64/pr23494c-x32.d: Likewise.
            * testsuite/binutils-all/x86-64/pr23494c.d: Likewise.
            * testsuite/binutils-all/x86-64/pr23494d-x32.d: Likewise.
            * testsuite/binutils-all/x86-64/pr23494d.d: Likewise.
            * testsuite/binutils-all/x86-64/pr23494e-x32.d: Likewise.
            * testsuite/binutils-all/x86-64/pr23494e.d: Likewise.
            * testsuite/binutils-all/x86-64/shstk-x32.d: Likewise.
            * testsuite/binutils-all/x86-64/shstk.d: Likewise.
    
    gas/
    
            PR gas/26703
            * config/tc-i386.c (xstate): Add xstate_mask.
            (md_assemble): Check i.types[j], instead of i.tm.operand_types[j],
            for xstate.  Set xstate_mask, instead of xstate_zmm, for RegMask.
            (output_insn): Update for GNU_PROPERTY_X86_ISA_1_V[234].  Update
            xstate for mask register and VSIB.
            * testsuite/gas/i386/i386.exp: Run more GNU_PROPERTY tests.
            * testsuite/gas/i386/property-1.s: Updated to the current
            GNU_PROPERTY_X86_ISA_1_USED value.
            * testsuite/gas/i386/property-2.s: Only keep cmove.
            * testsuite/gas/i386/property-3.s: Changed to addsubpd.
            * testsuite/gas/i386/property-1.d: Updated.
            * testsuite/gas/i386/property-2.d: Likewise.
            * testsuite/gas/i386/property-3.d: Likewise.
            * testsuite/gas/i386/property-4.d: Likewise.
            * testsuite/gas/i386/property-5.d: Likewise.
            * testsuite/gas/i386/property-6.d: Likewise.
            * testsuite/gas/i386/x86-64-property-1.d: Likewise.
            * testsuite/gas/i386/x86-64-property-2.d: Likewise.
            * testsuite/gas/i386/x86-64-property-3.d: Likewise.
            * testsuite/gas/i386/x86-64-property-4.d: Likewise.
            * testsuite/gas/i386/x86-64-property-5.d: Likewise.
            * testsuite/gas/i386/x86-64-property-6.d: Likewise.
            * testsuite/gas/i386/x86-64-property-7.d: Likewise.
            * testsuite/gas/i386/x86-64-property-8.d: Likewise.
            * testsuite/gas/i386/x86-64-property-9.d: Likewise.
            * testsuite/gas/i386/property-11.d: New file.
            * testsuite/gas/i386/property-11.s: Likewise.
            * testsuite/gas/i386/property-12.d: Likewise.
            * testsuite/gas/i386/property-12.s: Likewise.
            * testsuite/gas/i386/property-13.d: Likewise.
            * testsuite/gas/i386/property-13.s: Likewise.
            * testsuite/gas/i386/x86-64-property-11.d: Likewise.
            * testsuite/gas/i386/x86-64-property-12.d: Likewise.
            * testsuite/gas/i386/x86-64-property-13.d: Likewise.
            * testsuite/gas/i386/x86-64-property-14.d: Likewise.
            * testsuite/gas/i386/x86-64-property-14.s: Likewise.
    
    include/
    
            PR gas/26703
            * elf/common.h (GNU_PROPERTY_X86_ISA_1_USED): Renamed to ...
            (GNU_PROPERTY_X86_COMPAT_2_ISA_1_USED): This.
            (GNU_PROPERTY_X86_ISA_1_NEEDED): Renamed to ...
            (GNU_PROPERTY_X86_COMPAT_2_ISA_1_NEEDED): This.
            (GNU_PROPERTY_X86_ISA_1_XXX): Renamed to ...
            (GNU_PROPERTY_X86_COMPAT_2_ISA_1_XXX): This.
            (GNU_PROPERTY_X86_ISA_1_NEEDED): New.
            (GNU_PROPERTY_X86_ISA_1_USED): Likewise.
            (GNU_PROPERTY_X86_ISA_1_V2): Likewise.
            (GNU_PROPERTY_X86_ISA_1_V3): Likewise.
            (GNU_PROPERTY_X86_ISA_1_V4): Likewise.
            (GNU_PROPERTY_X86_FEATURE_2_MASK): Likewise.
    
    ld/
    
            PR gas/26703
            * NEWS: Mention -z x86-64-v[234].
            * ld.texi: Document -z x86-64-v[234].
            * emulparams/elf32_x86_64.sh: Use x86-64-level.sh.
            * emulparams/elf_i386.sh: Likewise.
            * emulparams/elf_x86_64.sh: Likewise.
            * emulparams/x86-64-level.sh: New file.
            * testsuite/ld-elf/x86-feature-1a.rd: Update.
            * testsuite/ld-elf/x86-feature-1b.rd: Likewise.
            * testsuite/ld-elf/x86-feature-1c.rd: Likewise.
            * testsuite/ld-elf/x86-feature-1d.rd: Likewise.
            * testsuite/ld-elf/x86-feature-1e.rd: Likewise.
            * testsuite/ld-i386/pr23372c.d: Likewise.
            * testsuite/ld-i386/pr23486c.d: Likewise.
            * testsuite/ld-i386/pr23486d.d: Likewise.
            * testsuite/ld-i386/pr24322a.d: Likewise.
            * testsuite/ld-i386/pr24322b.d: Likewise.
            * testsuite/ld-i386/property-1a.r: Likewise.
            * testsuite/ld-i386/property-2a.r: Likewise.
            * testsuite/ld-i386/property-3.r: Likewise.
            * testsuite/ld-i386/property-3a.r: Likewise.
            * testsuite/ld-i386/property-4.r: Likewise.
            * testsuite/ld-i386/property-4a.r: Likewise.
            * testsuite/ld-i386/property-5.r: Likewise.
            * testsuite/ld-i386/property-5a.r: Likewise.
            * testsuite/ld-i386/property-7a.r: Likewise.
            * testsuite/ld-i386/property-x86-3.d: Likewise.
            * testsuite/ld-i386/property-x86-4a.d: Likewise.
            * testsuite/ld-i386/property-x86-5.d: Likewise.
            * testsuite/ld-i386/property-x86-cet1.d: Likewise.
            * testsuite/ld-i386/property-x86-cet2a.d: Likewise.
            * testsuite/ld-i386/property-x86-cet5a.d: Likewise.
            * testsuite/ld-i386/property-x86-cet5b.d: Likewise.
            * testsuite/ld-i386/property-x86-ibt1a.d: Likewise.
            * testsuite/ld-i386/property-x86-ibt1b.d: Likewise.
            * testsuite/ld-i386/property-x86-ibt2.d: Likewise.
            * testsuite/ld-i386/property-x86-ibt3a.d: Likewise.
            * testsuite/ld-i386/property-x86-ibt3b.d: Likewise.
            * testsuite/ld-i386/property-x86-ibt4.d: Likewise.
            * testsuite/ld-i386/property-x86-ibt5.d: Likewise.
            * testsuite/ld-i386/property-x86-shstk1a.d: Likewise.
            * testsuite/ld-i386/property-x86-shstk1b.d: Likewise.
            * testsuite/ld-i386/property-x86-shstk2.d: Likewise.
            * testsuite/ld-i386/property-x86-shstk3a.d: Likewise.
            * testsuite/ld-i386/property-x86-shstk3b.d: Likewise.
            * testsuite/ld-i386/property-x86-shstk4.d: Likewise.
            * testsuite/ld-i386/property-x86-shstk5.d: Likewise.
            * testsuite/ld-x86-64/pr23372c-x32.d: Likewise.
            * testsuite/ld-x86-64/pr23372c.d: Likewise.
            * testsuite/ld-x86-64/pr23486c.d: Likewise.
            * testsuite/ld-x86-64/pr23486d-x32.d: Likewise.
            * testsuite/ld-x86-64/pr23486d.d: Likewise.
            * testsuite/ld-x86-64/pr24322a-x32.d: Likewise.
            * testsuite/ld-x86-64/pr24322a.d: Likewise.
            * testsuite/ld-x86-64/pr24322b-x32.d: Likewise.
            * testsuite/ld-x86-64/pr24322b.d: Likewise.
            * testsuite/ld-x86-64/pr24458a-x32.d: Likewise.
            * testsuite/ld-x86-64/pr24458a.d: Likewise.
            * testsuite/ld-x86-64/pr24458b-x32.d: Likewise.
            * testsuite/ld-x86-64/pr24458b.d: Likewise.
            * testsuite/ld-x86-64/pr24458c-x32.d: Likewise.
            * testsuite/ld-x86-64/pr24458c.d: Likewise.
            * testsuite/ld-x86-64/property-1a.r: Likewise.
            * testsuite/ld-x86-64/property-2a.r: Likewise.
            * testsuite/ld-x86-64/property-3.r: Likewise.
            * testsuite/ld-x86-64/property-3a.r: Likewise.
            * testsuite/ld-x86-64/property-4.r: Likewise.
            * testsuite/ld-x86-64/property-4a.r: Likewise.
            * testsuite/ld-x86-64/property-5.r: Likewise.
            * testsuite/ld-x86-64/property-5a.r: Likewise.
            * testsuite/ld-x86-64/property-7a.r: Likewise.
            * testsuite/ld-x86-64/property-x86-3-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-3.d: Likewise.
            * testsuite/ld-x86-64/property-x86-4a-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-4a.d: Likewise.
            * testsuite/ld-x86-64/property-x86-5-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-5.d: Likewise.
            * testsuite/ld-x86-64/property-x86-cet1-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-cet1.d: Likewise.
            * testsuite/ld-x86-64/property-x86-cet2a-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-cet2a.d: Likewise.
            * testsuite/ld-x86-64/property-x86-cet5a-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-cet5a.d: Likewise.
            * testsuite/ld-x86-64/property-x86-cet5b-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-cet5b.d: Likewise.
            * testsuite/ld-x86-64/property-x86-ibt1a-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-ibt1a.d: Likewise.
            * testsuite/ld-x86-64/property-x86-ibt1b-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-ibt1b.d: Likewise.
            * testsuite/ld-x86-64/property-x86-ibt2-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-ibt2.d: Likewise.
            * testsuite/ld-x86-64/property-x86-ibt3a-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-ibt3a.d: Likewise.
            * testsuite/ld-x86-64/property-x86-ibt3b-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-ibt3b.d: Likewise.
            * testsuite/ld-x86-64/property-x86-ibt4-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-ibt4.d: Likewise.
            * testsuite/ld-x86-64/property-x86-ibt5-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-ibt5.d: Likewise.
            * testsuite/ld-x86-64/property-x86-shstk1a-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-shstk1a.d: Likewise.
            * testsuite/ld-x86-64/property-x86-shstk1b-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-shstk1b.d: Likewise.
            * testsuite/ld-x86-64/property-x86-shstk2-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-shstk2.d: Likewise.
            * testsuite/ld-x86-64/property-x86-shstk3a-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-shstk3a.d: Likewise.
            * testsuite/ld-x86-64/property-x86-shstk3b-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-shstk3b.d: Likewise.
            * testsuite/ld-x86-64/property-x86-shstk4-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-shstk4.d: Likewise.
            * testsuite/ld-x86-64/property-x86-shstk5-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-shstk5.d: Likewise.
            * testsuite/ld-i386/i386.exp: Run property-x86-6,
            property-x86-isa1, property-x86-isa2 and property-x86-isa3.
            * testsuite/ld-i386/property-x86-1.S: Updated to the current
            GNU_PROPERTY_X86_ISA_1_USED and GNU_PROPERTY_X86_ISA_1_NEEDED
            values.
            * testsuite/ld-i386/property-x86-2.S: Likewise.
            * testsuite/ld-i386/property-x86-3.s: Likewise.
            * testsuite/ld-x86-64/pr23372d.s: Likewise.
            * testsuite/ld-x86-64/pr23372e.s: Likewise.
            * testsuite/ld-x86-64/pr23372f.s: Likewise.
            * testsuite/ld-x86-64/pr23486c.s: Likewise.
            * testsuite/ld-x86-64/pr23486d.s: Likewise.
            * testsuite/ld-x86-64/property-x86-1.S: Likewise.
            * testsuite/ld-x86-64/property-x86-2.S: Likewise.
            * testsuite/ld-x86-64/property-x86-3.s: Likewise.
            * testsuite/ld-x86-64/property-x86-5a.s: Likewise.
            * testsuite/ld-x86-64/property-x86-5b.s: Likewise.
            * testsuite/ld-i386/property-x86-6.d: New file.
            * testsuite/ld-i386/property-x86-isa1.d: Likewise.
            * testsuite/ld-i386/property-x86-isa2.d: Likewise.
            * testsuite/ld-i386/property-x86-isa3.d: Likewise.
            * testsuite/ld-x86-64/property-x86-6-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-6.d: Likewise.
            * testsuite/ld-x86-64/property-x86-6.s: Likewise.
            * testsuite/ld-x86-64/property-x86-isa1-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-isa1.d: Likewise.
            * testsuite/ld-x86-64/property-x86-isa1.s: Likewise.
            * testsuite/ld-x86-64/property-x86-isa2-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-isa2.d: Likewise.
            * testsuite/ld-x86-64/property-x86-isa3-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-isa3.d: Likewise.
            * testsuite/ld-x86-64/simple.s: Likewise.
            * ld/testsuite/ld-x86-64/x86-64.exp: Run property-x86-6,
            property-x86-6-x32, property-x86-isa1, property-x86-isa1-x32,
            property-x86-isa2, property-x86-isa2-x32, property-x86-isa3-x32
            and property-x86-isa3.
Comment 3 H.J. Lu 2020-10-09 12:19:54 UTC
Fixed.
Comment 4 Sourceware Commits 2020-10-30 14:18:14 UTC
The master branch has been updated by H.J. Lu <hjl@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=b0ab06937385e0ae25cebf1991787d64f439bf12

commit b0ab06937385e0ae25cebf1991787d64f439bf12
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Oct 30 06:49:57 2020 -0700

    x86: Support GNU_PROPERTY_X86_ISA_1_BASELINE marker
    
    GCC 11 supports -march=x86-64-v[234] to enable x86 micro-architecture ISA
    levels:
    
    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97250
    
    X86 ISA markers are updated:
    
    https://gitlab.com/x86-psABIs/x86-64-ABI/-/merge_requests/13
    
    GNU_PROPERTY_X86_ISA_1_BASELINE is added and GNU_PROPERTY_X86_ISA_1_V[234]
    are updated:
    
     #define GNU_PROPERTY_X86_ISA_1_BASELINE (1U << 0)
     #define GNU_PROPERTY_X86_ISA_1_V2       (1U << 1)
     #define GNU_PROPERTY_X86_ISA_1_V3       (1U << 2)
     #define GNU_PROPERTY_X86_ISA_1_V4       (1U << 3)
    
    Add -z x86-64-baseline linker command line option to mark x86-64-baseline
    ISA level as needed.
    
    bfd/
    
            PR gas/26703
            * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Generate
            GNU_PROPERTY_X86_ISA_1_BASELINE for -z x86-64-baseline.
    
    binutils/
    
            PR gas/26703
            * readelf.c (decode_x86_isa): Handle
            * GNU_PROPERTY_X86_ISA_1_BASELINE.
            * testsuite/binutils-all/i386/empty.d: Updated.
            * testsuite/binutils-all/i386/ibt.d: Likewise.
            * testsuite/binutils-all/i386/pr21231a.d: Likewise.
            * testsuite/binutils-all/i386/pr21231b.d: Likewise.
            * testsuite/binutils-all/i386/shstk.d: Likewise.
            * testsuite/binutils-all/x86-64/empty-x32.d: Likewise.
            * testsuite/binutils-all/x86-64/empty.d: Likewise.
            * testsuite/binutils-all/x86-64/ibt-x32.d: Likewise.
            * testsuite/binutils-all/x86-64/ibt.d: Likewise.
            * testsuite/binutils-all/x86-64/pr21231a.d: Likewise.
            * testsuite/binutils-all/x86-64/pr21231b.d: Likewise.
            * testsuite/binutils-all/x86-64/pr23494a-x32.d: Likewise.
            * testsuite/binutils-all/x86-64/pr23494a.d: Likewise.
            * testsuite/binutils-all/x86-64/pr23494c-x32.d: Likewise.
            * testsuite/binutils-all/x86-64/pr23494c.d: Likewise.
            * testsuite/binutils-all/x86-64/pr23494d-x32.d: Likewise.
            * testsuite/binutils-all/x86-64/pr23494d.d: Likewise.
            * testsuite/binutils-all/x86-64/pr23494e-x32.d: Likewise.
            * testsuite/binutils-all/x86-64/pr23494e.d: Likewise.
            * testsuite/binutils-all/x86-64/shstk-x32.d: Likewise.
            * testsuite/binutils-all/x86-64/shstk.d: Likewise.
    
    gas/
    
            PR gas/26703
            * config/tc-i386.c (output_insn): Update for
            GNU_PROPERTY_X86_ISA_1_BASELINE.
            * testsuite/gas/i386/property-1.d: Updated.
            * testsuite/gas/i386/property-2.d: Likewise.
            * testsuite/gas/i386/property-3.d: Likewise.
            * testsuite/gas/i386/property-4.d: Likewise.
            * testsuite/gas/i386/property-5.d: Likewise.
            * testsuite/gas/i386/property-6.d: Likewise.
            * testsuite/gas/i386/property-11.d: Likewise.
            * testsuite/gas/i386/property-12.d: Likewise.
            * testsuite/gas/i386/x86-64-property-1.d: Likewise.
            * testsuite/gas/i386/x86-64-property-2.d: Likewise.
            * testsuite/gas/i386/x86-64-property-3.d: Likewise.
            * testsuite/gas/i386/x86-64-property-4.d: Likewise.
            * testsuite/gas/i386/x86-64-property-5.d: Likewise.
            * testsuite/gas/i386/x86-64-property-6.d: Likewise.
            * testsuite/gas/i386/x86-64-property-11.d: Likewise.
            * testsuite/gas/i386/x86-64-property-12.d: Likewise.
    
    include/
    
            PR gas/26703
            * elf/common.h (GNU_PROPERTY_X86_ISA_1_BASELINE): New.
            (GNU_PROPERTY_X86_ISA_1_V2): Uppdated.
            (GNU_PROPERTY_X86_ISA_1_V3): Likewise.
            (GNU_PROPERTY_X86_ISA_1_V4): Likewise.
    
    ld/
    
            PR gas/26703
            * NEWS: Mention -z x86-64-baseline.
            * ld.texi: Document -z x86-64-baseline.
            * emulparams/x86-64-level.sh: Handle -z x86-64-baseline.
            * testsuite/ld-elf/x86-feature-1a.rd: Update.
            * testsuite/ld-elf/x86-feature-1b.rd: Likewise.
            * testsuite/ld-elf/x86-feature-1c.rd: Likewise.
            * testsuite/ld-elf/x86-feature-1d.rd: Likewise.
            * testsuite/ld-elf/x86-feature-1e.rd: Likewise.
            * testsuite/ld-i386/pr23372c.d: Likewise.
            * testsuite/ld-i386/pr23486c.d: Likewise.
            * testsuite/ld-i386/pr23486d.d: Likewise.
            * testsuite/ld-i386/pr24322a.d: Likewise.
            * testsuite/ld-i386/pr24322b.d: Likewise.
            * testsuite/ld-i386/property-1a.r: Likewise.
            * testsuite/ld-i386/property-2a.r: Likewise.
            * testsuite/ld-i386/property-3.r: Likewise.
            * testsuite/ld-i386/property-3a.r: Likewise.
            * testsuite/ld-i386/property-4.r: Likewise.
            * testsuite/ld-i386/property-4a.r: Likewise.
            * testsuite/ld-i386/property-5.r: Likewise.
            * testsuite/ld-i386/property-5a.r: Likewise.
            * testsuite/ld-i386/property-7a.r: Likewise.
            * testsuite/ld-i386/property-x86-3.d: Likewise.
            * testsuite/ld-i386/property-x86-4a.d: Likewise.
            * testsuite/ld-i386/property-x86-5.d: Likewise.
            * testsuite/ld-i386/property-x86-cet1.d: Likewise.
            * testsuite/ld-i386/property-x86-cet2a.d: Likewise.
            * testsuite/ld-i386/property-x86-cet5a.d: Likewise.
            * testsuite/ld-i386/property-x86-cet5b.d: Likewise.
            * testsuite/ld-i386/property-x86-ibt1a.d: Likewise.
            * testsuite/ld-i386/property-x86-ibt1b.d: Likewise.
            * testsuite/ld-i386/property-x86-ibt2.d: Likewise.
            * testsuite/ld-i386/property-x86-ibt3a.d: Likewise.
            * testsuite/ld-i386/property-x86-ibt3b.d: Likewise.
            * testsuite/ld-i386/property-x86-ibt4.d: Likewise.
            * testsuite/ld-i386/property-x86-ibt5.d: Likewise.
            * testsuite/ld-i386/property-x86-isa1.d: Likewise.
            * testsuite/ld-i386/property-x86-isa2.d: Likewise.
            * testsuite/ld-i386/property-x86-isa3.d: Likewise.
            * testsuite/ld-i386/property-x86-shstk1a.d: Likewise.
            * testsuite/ld-i386/property-x86-shstk1b.d: Likewise.
            * testsuite/ld-i386/property-x86-shstk2.d: Likewise.
            * testsuite/ld-i386/property-x86-shstk3a.d: Likewise.
            * testsuite/ld-i386/property-x86-shstk3b.d: Likewise.
            * testsuite/ld-i386/property-x86-shstk4.d: Likewise.
            * testsuite/ld-i386/property-x86-shstk5.d: Likewise.
            * testsuite/ld-x86-64/pr23372c-x32.d: Likewise.
            * testsuite/ld-x86-64/pr23372c.d: Likewise.
            * testsuite/ld-x86-64/pr23486c-x32.d: Likewise.
            * testsuite/ld-x86-64/pr23486c.d: Likewise.
            * testsuite/ld-x86-64/pr23486d-x32.d: Likewise.
            * testsuite/ld-x86-64/pr23486d.d: Likewise.
            * testsuite/ld-x86-64/pr24322a-x32.d: Likewise.
            * testsuite/ld-x86-64/pr24322a.d: Likewise.
            * testsuite/ld-x86-64/pr24322b-x32.d: Likewise.
            * testsuite/ld-x86-64/pr24322b.d: Likewise.
            * testsuite/ld-x86-64/pr24458a-x32.d: Likewise.
            * testsuite/ld-x86-64/pr24458a.d: Likewise.
            * testsuite/ld-x86-64/pr24458b-x32.d: Likewise.
            * testsuite/ld-x86-64/pr24458b.d: Likewise.
            * testsuite/ld-x86-64/pr24458c-x32.d: Likewise.
            * testsuite/ld-x86-64/pr24458c.d: Likewise.
            * testsuite/ld-x86-64/property-1a.r: Likewise.
            * testsuite/ld-x86-64/property-2a.r: Likewise.
            * testsuite/ld-x86-64/property-3.r: Likewise.
            * testsuite/ld-x86-64/property-3a.r: Likewise.
            * testsuite/ld-x86-64/property-4.r: Likewise.
            * testsuite/ld-x86-64/property-4a.r: Likewise.
            * testsuite/ld-x86-64/property-5.r: Likewise.
            * testsuite/ld-x86-64/property-5a.r: Likewise.
            * testsuite/ld-x86-64/property-7a.r: Likewise.
            * testsuite/ld-x86-64/property-x86-3-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-3.d: Likewise.
            * testsuite/ld-x86-64/property-x86-4a-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-4a.d: Likewise.
            * testsuite/ld-x86-64/property-x86-5-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-5.d: Likewise.
            * testsuite/ld-x86-64/property-x86-cet1-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-cet1.d: Likewise.
            * testsuite/ld-x86-64/property-x86-cet2a-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-cet2a.d: Likewise.
            * testsuite/ld-x86-64/property-x86-cet5a-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-cet5a.d: Likewise.
            * testsuite/ld-x86-64/property-x86-cet5b-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-cet5b.d: Likewise.
            * testsuite/ld-x86-64/property-x86-ibt1a-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-ibt1a.d: Likewise.
            * testsuite/ld-x86-64/property-x86-ibt1b-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-ibt1b.d: Likewise.
            * testsuite/ld-x86-64/property-x86-ibt2-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-ibt2.d: Likewise.
            * testsuite/ld-x86-64/property-x86-ibt3a-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-ibt3a.d: Likewise.
            * testsuite/ld-x86-64/property-x86-ibt3b-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-ibt3b.d: Likewise.
            * testsuite/ld-x86-64/property-x86-ibt4-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-ibt4.d: Likewise.
            * testsuite/ld-x86-64/property-x86-ibt5-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-isa1-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-isa1.d: Likewise.
            * testsuite/ld-x86-64/property-x86-isa2-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-isa2.d: Likewise.
            * testsuite/ld-x86-64/property-x86-isa3-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-isa3.d: Likewise.
            * testsuite/ld-x86-64/property-x86-ibt5.d: Likewise.
            * testsuite/ld-x86-64/property-x86-shstk1a-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-shstk1a.d: Likewise.
            * testsuite/ld-x86-64/property-x86-shstk1b-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-shstk1b.d: Likewise.
            * testsuite/ld-x86-64/property-x86-shstk2-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-shstk2.d: Likewise.
            * testsuite/ld-x86-64/property-x86-shstk3a-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-shstk3a.d: Likewise.
            * testsuite/ld-x86-64/property-x86-shstk3b-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-shstk3b.d: Likewise.
            * testsuite/ld-x86-64/property-x86-shstk4-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-shstk4.d: Likewise.
            * testsuite/ld-x86-64/property-x86-shstk5-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-shstk5.d: Likewise.
            * testsuite/ld-i386/i386.exp: Run property-x86-isa4.
            * testsuite/ld-i386/property-x86-isa4.d: New file.
            * testsuite/ld-x86-64/property-x86-isa4-x32.d: Likewise.
            * testsuite/ld-x86-64/property-x86-isa4.d: Likewise.
            * ld/testsuite/ld-x86-64/x86-64.exp: Run property-x86-isa4
            and property-x86-isa4-x32.