This is an archive of the discontinued LLVM Phabricator instance.

[PowerPC] Add the LLVM triple for powerpcle [1/5]
ClosedPublic

Authored by Bdragon28 on Dec 29 2020, 1:51 PM.

Details

Summary

Add a triple for powerpcle-*-*.

This is a little-endian encoding of the 32-bit PowerPC ABI, useful in certain niche situations:

  1. A loader such as the FreeBSD loader which will be loading a little endian kernel. This is required for PowerPC64LE to load properly in pseries VMs.

Such a loader is implemented as a freestanding ELF32 LSB binary.

  1. Userspace emulation of a 32-bit LE architecture such as x86 on 64-bit hosts such as PowerPC64LE with tools like box86 requires having a 32-bit LE toolchain and library set, as they operate by translating only the main binary and switching to native code when making library calls.
  1. The Void Linux for PowerPC project is experimenting with running an entire powerpcle userland.

Diff Detail

Event Timeline

Bdragon28 created this revision.Dec 29 2020, 1:51 PM
Bdragon28 requested review of this revision.Dec 29 2020, 1:51 PM
Herald added a project: Restricted Project. · View Herald TranscriptDec 29 2020, 1:51 PM
Bdragon28 updated this revision to Diff 314013.Dec 29 2020, 2:00 PM
Bdragon28 edited the summary of this revision. (Show Details)Dec 29 2020, 2:05 PM
Bdragon28 added a reviewer: MaskRay.
Bdragon28 added a project: Restricted Project.
MaskRay accepted this revision.Dec 29 2020, 3:36 PM
MaskRay retitled this revision from [PowerPC] powerpcle target 1/5 to [PowerPC] Add the LLVM triple for powerpcle [1/5].

Looks great

This revision is now accepted and ready to land.Dec 29 2020, 3:36 PM
Bdragon28 edited the summary of this revision. (Show Details)Jan 2 2021, 8:38 AM
This revision was landed with ongoing or failed builds.Jan 2 2021, 10:20 AM
This revision was automatically updated to reflect the committed changes.