This is an archive of the discontinued LLVM Phabricator instance.

[llvm-readobj] Remove legacy GNU_PROPERTY_X86_ISA_1_{NEEDED,USED} and dump new GNU_PROPERTY_X86_ISA_1_{NEEDED,USED}
ClosedPublic

Authored by MaskRay on Mar 17 2021, 2:52 PM.

Details

Summary

https://sourceware.org/bugzilla/show_bug.cgi?id=26703 deprecated the
previous GNU_PROPERTY_X86_ISA_1_{CMOV,SSE,*} values (renamed to COMPAT)
and added new values.

Since the legacy values are not used by compilers, having dumping support in
llvm-readobj is unnecessary. So just drop the legacy feature.

The new values are used by GCC 11
(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97250) -march=x86-64-v[234] to
indicate the micro-architecture ISA levels.

Diff Detail

Event Timeline

MaskRay created this revision.Mar 17 2021, 2:52 PM
MaskRay requested review of this revision.Mar 17 2021, 2:52 PM
Herald added a project: Restricted Project. · View Herald TranscriptMar 17 2021, 2:52 PM

Is there any documentation for these new properties?

Is there any documentation for these new properties?

Yes, https://gitlab.com/x86-psABIs/x86-64-ABI/-/merge_requests/13 "Bit Flags For X86 Instruction Sets"

jhenderson accepted this revision.Mar 19 2021, 1:59 AM

Looks good, but see also my comment in D98817 re. possibly merging the two changes.

This revision is now accepted and ready to land.Mar 19 2021, 1:59 AM
MaskRay updated this revision to Diff 332006.Mar 19 2021, 2:32 PM
MaskRay retitled this revision from [llvm-readobj] Dump new GNU_PROPERTY_X86_ISA_1_{NEEDED,USED} notes in .note.gnu.property to [llvm-readobj] Remove legacy GNU_PROPERTY_X86_ISA_1_{NEEDED,USED} and dump new GNU_PROPERTY_X86_ISA_1_{NEEDED,USED}.
MaskRay edited the summary of this revision. (Show Details)

merge

This revision was landed with ongoing or failed builds.Mar 19 2021, 2:35 PM
This revision was automatically updated to reflect the committed changes.