This is an archive of the discontinued LLVM Phabricator instance.

[PowerPC][Triple] Use elfv2 on freebsd>=13 and linux-musl
ClosedPublic

Authored by MaskRay on Jan 7 2020, 11:07 AM.

Details

Summary

Every powerpc64le platform uses elfv2.

For powerpc64, the environments "elfv1" and "elfv2" were added for
FreeBSD ELFv1->ELFv2 migration in D61950. FreeBSD developers have
decided to use OS versions to select ABI, and no one is relying on the
environments.

Also use elfv2 on powerpc64-linux-musl.

Users can always use -mabi=elfv1 and -mabi=elfv2 to override the default
ABI.

Diff Detail

Event Timeline

MaskRay created this revision.Jan 7 2020, 11:07 AM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptJan 7 2020, 11:07 AM

Unit tests: unknown.

clang-tidy: unknown.

clang-format: unknown.

Build artifacts: diff.json, console-log.txt

Unit tests: unknown.

clang-tidy: unknown.

clang-format: unknown.

Build artifacts: diff.json, console-log.txt

adalava accepted this revision.Jan 7 2020, 11:30 AM

LGTM. Just a comment regarding FreeBSD 11.x.

clang/test/Driver/ppc-abi.c
27

FreeBSD 11.x (ELFv1) should be supported[1] until 2021. Maybe you would like to add a check for it too.

[1]https://www.freebsd.org/security/security.html#sup

clang/test/Preprocessor/init-ppc64.c
1060

same as above

This revision is now accepted and ready to land.Jan 7 2020, 11:30 AM
MaskRay updated this revision to Diff 236647.Jan 7 2020, 11:34 AM

Add powerpc64-unknown-freebsd11 (its expected EOL is September 30, 2021)

MaskRay updated this revision to Diff 236649.Jan 7 2020, 11:39 AM
MaskRay retitled this revision from [Triple] Use elfv2 on freebsd>=13 and linux-musl to [PowerPC][Triple] Use elfv2 on freebsd>=13 and linux-musl.
MaskRay edited the summary of this revision. (Show Details)

Better description

This revision was automatically updated to reflect the committed changes.

Unit tests: pass. 61303 tests passed, 0 failed and 736 were skipped.

clang-tidy: fail. Please fix clang-tidy findings.

clang-format: fail. Please format your changes with clang-format by running git-clang-format HEAD^ or applying this patch.

Build artifacts: diff.json, clang-tidy.txt, clang-format.patch, CMakeCache.txt, console-log.txt, test-results.xml

Unit tests: pass. 61303 tests passed, 0 failed and 736 were skipped.

clang-tidy: fail. Please fix clang-tidy findings.

clang-format: fail. Please format your changes with clang-format by running git-clang-format HEAD^ or applying this patch.

Build artifacts: diff.json, clang-tidy.txt, clang-format.patch, CMakeCache.txt, console-log.txt, test-results.xml