This is an archive of the discontinued LLVM Phabricator instance.

[x32] Add X32 backend
ClosedPublic

Authored by pavel.v.chupin on Jun 17 2014, 10:31 AM.

Details

Summary

This is minimal change for backend required to have "hello world" compiled
and working on x32 target (x86_64-linux-gnux32). More patches for x32 will
follow.
Note that this patch for clang is also required:
http://reviews.llvm.org/D4180

Diff Detail

Event Timeline

pavel.v.chupin retitled this revision from to [x32] Add X32 backend.
pavel.v.chupin updated this object.
pavel.v.chupin edited the test plan for this revision. (Show Details)
pavel.v.chupin added a subscriber: Unknown Object (MLST).
zinovy.nis set the repository for this revision to rL LLVM.
jfb edited edge metadata.Jun 25 2014, 10:17 AM

Sorry, I'm missing a bit of context for this patch. Could you explain in the commit message why this is the right thing to do?

pavel.v.chupin edited edge metadata.

Updating the commit message.

dschuff edited edge metadata.Jun 30 2014, 10:16 AM

The code looks OK to me, although the commit message should say what it actually does (i.e., add an AsmBackend for X32 which uses ELF32 with x86_64).

This is very minimal though; do you have a more complete set of patches available for X32 so we can see the bigger picture of where this is going?

pavel.v.chupin edited edge metadata.

Updating commit title

This is very minimal indeed.
I've got more raw changes, but want to split them first and polish for better review. Also working on tests.
I'm going to submit next patch very soon.

Is it OK to commit?

This patch is fine (in my opinion) to commit, but before we get too far into landing more stuff, I would really like to see a sort of roadmap, e.g. what are the major data structures what will need to be changed, etc. Even if it's just a raw patch dump somewhere.

Also I might be interested in trying this out myself, what would I need to be able to do that? Just a distro with x32 libs?

dschuff accepted this revision.Jul 1 2014, 9:43 AM
dschuff edited edge metadata.
This revision is now accepted and ready to land.Jul 1 2014, 9:43 AM

Thanks for comments.
I'll open new thread at llvmdev and provide some sort of roadmap and list of changes required.

In D4181#20, @dschuff wrote:

Also I might be interested in trying this out myself, what would I need to be able to do that? Just a distro with x32 libs?

Yes. You need kernel and libs supporting x32. Ubuntu 14 has x32 packages available to try.

zinovy.nis closed this revision.Jul 10 2014, 6:12 AM
zinovy.nis updated this revision to Diff 11266.

Closed by commit rL212716 (authored by @zinovy.nis).