There is no -no-pie flag that can override this, so making it default
to being on for Android means it is no longer possible to create
non-PIE executables on Android. While current versions of Android
support (and the most recent requires) PIE, ICS and earlier versions
of Android cannot run PIE executables, so this needs to be optional.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
Alexey: you introduced this behavior in http://reviews.llvm.org/D2668
IMO it's the build system's job to pass -pie for Android, not the driver's. If this really needs to be in the driver then it needs to be guarded to only be forced on if LTO is being used.
Comment Actions
Thanks, this caused us grief at some point too. I think if you pass -Bsymbolic, -pie gets disabled (?), so iirc I saw a target that passed -Bsymbolic just to get rid of -pie. (My memory is hazy, but I'm sure that I wanted to remove this behavior at some point.)