[guardian-dev] Confused by Android-L PIE

Nathan of Guardian nathan at guardianproject.info
Thu Nov 6 14:09:17 EST 2014


I finally updated my Nexus 7 to use the latest Android L/5.0 developer
preview ROMs

I've updated Orbot's Makefile to support a simple command line arg for
enabling PIE or not:
https://github.com/n8fr8/orbot/commit/7f50f79b0e3ebbb0dd97845445dbb693f3fd541c

For PIE-enabled/Android-16 binaries:
> make polipo PIEFLAGS="-fPIE -pie" NDK_PLATFORM_LEVEL="16"

For non-PIE/Android-9 through 15 binaries:
> make polipo PIEFLAGS="" NDK_PLATFORM_LEVEL="9"

I can verify that if I try to run the non-PIE binaries on L, they do not
work.

Now, when I decided to install Courier (securereader) and ChatSecure
from the Google Play store existing versions, they both installed and
executed perfectly. They both contain native code, but they are used as
shared libraries and not command line executables like with Orbot.

So, does that mean the PIE setting only affected executables and not
libraries, perhaps?


-- 
  Nathan of Guardian
  nathan at guardianproject.info


More information about the Guardian-dev mailing list