PING^1: V3 [PATCH] x86: Support GNU_PROPERTY_X86_ISA_1_V[234] marker [BZ #26717]

H.J. Lu hjl.tools@gmail.com
Thu Nov 26 15:39:19 GMT 2020


On Fri, Oct 30, 2020 at 11:55 AM H.J. Lu <hjl.tools@gmail.com> wrote:
>
> 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
>
> Binutils has been updated to support GNU_PROPERTY_X86_ISA_1_V[234] marker:
>
> https://gitlab.com/x86-psABIs/x86-64-ABI/-/merge_requests/13
>
> with
>
> 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
>
> and
>
> 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
>
> in x86 ELF binaries to indicate the micro-architecture ISA level required
> to execute the binary.  The marker must be added by programmers explicitly
> in one of 2 ways:
>
> 1. Add the marker in the linker inputs as this patch does.
> 2. Pass -z x86-64-v[234] to the linker.
>
> Add GNU_PROPERTY_X86_ISA_1_BASELINE and GNU_PROPERTY_X86_ISA_1_V[234]
> marker support to ld.so if binutils 2.32 or newer is used to build glibc:
>
> 1. Add GNU_PROPERTY_X86_ISA_1_BASELINE and GNU_PROPERTY_X86_ISA_1_V[234]
> markers to elf.h.
> 2. Add GNU_PROPERTY_X86_ISA_1_BASELINE and GNU_PROPERTY_X86_ISA_1_V[234]
> marker to abi-note.o based on the ISA level used to compile abi-note.o,
> assuming that the same ISA level is used to compile the whole glibc.
> 3. Add isa_1 to cpu_features to record the supported x86 ISA level.
> 4. Rename _dl_process_cet_property_note to _dl_process_property_note and
> add GNU_PROPERTY_X86_ISA_1_V[234] marker detection.
> 5. Update _rtld_main_check and _dl_open_check to check loaded objects
> with the incompatible ISA level.
> 6. Add a testcase to verify that dlopen an x86-64-v4 shared object fails
> on lesser platforms.
>
> Marked elf/tst-isa-level-1 with x86-64-v4, ran it on x86-64-v3 machine
> and got:
>
> [hjl@gnu-cfl-2 build-x86_64-linux]$ ./elf/tst-isa-level-1
> ./elf/tst-isa-level-1: CPU ISA level is lower than required
> [hjl@gnu-cfl-2 build-x86_64-linux]$
> ---

PING:

https://sourceware.org/pipermail/libc-alpha/2020-October/119252.html


-- 
H.J.


More information about the Libc-alpha mailing list