]> granicus.if.org Git - clang/commit
Enable PIE for CloudABI.
authorEd Schouten <ed@nuxi.nl>
Wed, 6 Apr 2016 15:37:06 +0000 (15:37 +0000)
committerEd Schouten <ed@nuxi.nl>
Wed, 6 Apr 2016 15:37:06 +0000 (15:37 +0000)
commit6944c5a9cc8c8f527dd6b82700bf3294e0a57cf8
tree400182d95e618e90d5aa8de4a69d5bcee076d481
parent077a1a709807f8427ba74139eed82d0204bb9b72
Enable PIE for CloudABI.

As we're currently working on making CloudABI executables easier to
emulate in userspace (e.g., on OS X and Windows), it makes a whole lot
of sense to build these using PIE. By using PIE, they can simply be
loaded into the existing process address space without clashes.

PIE support got added to CloudABI's C library and seems to work pretty
well. CloudABI does not make use of an ld.so, so the binary's _start()
has all the logic in it to do the relocations.

Now that all but one bug in LLD relating to PIE support have been
squashed (and a patch for that is already in code review), I'd like to
go ahead and force the use of PIE for Clang 3.9. When released, we'll
also switch over to using LLD exclusively.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@265546 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Driver/ToolChains.h
lib/Driver/Tools.cpp
test/Driver/cloudabi.c
test/Driver/cloudabi.cpp