[LLVMdev] Upstreaming x32 ABI support

David Sehr sehr at google.com
Tue Jan 15 15:59:19 PST 2013


Hello,

Background:
We (the Portable Native Client team) would like to continue upstreaming
our LLVM modifications which contain support for Software Fault
Isolation (SFI) as required for sandboxing programs to run under
Native Client. Since the "total patch size" is quite big, we are
splitting the effort to manageable chunks that can be committed,
tested and reviewed separately as independently as feasible.

Eli has recently landed the changes we needed for instruction bundling
and alignment.  Thanks to those of you who provided reviews and
suggestions for improvement.

The next step:
The second portion that we would like to upstream is in preparation
for our x86-64 Native Client changes.  In particular, our ABI is
dependent on the existence of an ILP32 ABI on x86-64. The
conventions we rely on are the same as those developed for the
x32 effort, and we propose that the community begin reviewing
changes to implement the x32 ABI.  It should also be noted that the
x32 ABI is already supported by binutils, gcc, and glibc, and that
the Native Client team hopes to host its changes there on top of
x32 as well.

Our proposal is that the community ratify the idea of supporting
the x32 ABI and that the Native Client team start by defining the
variables/flags/etc., to allow selecting the x32 ABI in LLVM.  We
are aware of the previous set of patches posted to this list for x32,
and will be as consistent with that direction as possible.

For background, the x8-64 Native Client model is described in
http://src.chromium.org/viewvc/native_client/data/site/NaCl_SFI.pdf
x32 is described at https://sites.google.com/site/x32abi/
The previous set of patches was sent attached to
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20120604/144037.html

Cheers,

David
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130115/57cc991e/attachment.html>


More information about the llvm-dev mailing list