[PATCH] D38430: Enable -pie and --enable-new-dtags by default on Android.
Dan Albert via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Jan 15 16:07:20 PST 2019
danalbert added inline comments.
================
Comment at: cfe/trunk/lib/Driver/ToolChains/Linux.cpp:814
+bool Linux::isPIEDefault() const {
+ return (getTriple().isAndroid() && !getTriple().isAndroidVersionLT(16)) ||
+ getSanitizerArgs().requiresPIE();
----------------
pcc wrote:
> eugenis wrote:
> > pcc wrote:
> > > Why only on API level >= 16? If I create an executable targeting an older API level, it should still work on higher API levels.
> > Because it needs to work on lower API levels, too. I think at some point PIE was actually not supported, so there is no good default that works for everyone.
> I see. Looking at the tags in which https://github.com/aosp-mirror/platform_bionic/commit/d9ad62343c2db6b66a5fa597c9b20a6faabd7a9a was present, support was indeed added in Jelly Bean, which was API level 16. So this is correct.
Correct. Supported as of 16, required as of 21.
The NDK itself doesn't actually support pre-16 any more, but probably best for Clang to do the right thing anyway in case some user is trying to maintain their own sysroot for ICS that uses a modern Clang.
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D38430/new/
https://reviews.llvm.org/D38430
More information about the cfe-commits
mailing list