On 04/20/2017 05:17 AM, Paul Breneman wrote:
On 04/19/2017 10:49 PM, Paul Breneman wrote:
I'm using a Nexus 7 tablet with Android 6.0.1.  GNURoot provides a
chroot with Debian?  It has been *three* years since I did this before
and things worked then so I don't know what might have changed so ppcarm
doesn't even run now.

Android?
GNURoot?
ppcarm?

I'm trying the *most simple* thing, so no x11 or VNC needed.

Actually, the FPC 2.6.0 *ppcarm* worked three years ago but not now. What can cause it to have an *Illegal instruction* error?

There is a *simple* procedure near the bottom of this page:
  http://turbocontrol.com/gnuroot.htm
So what changed in those three years?

1. Pretty sure Android 6 wasn't out three years ago? Yeah, I see it was released 10/2015.
2. New device?
3. Did you use the same ppcarm you downloaded three years ago or did you download it again?
4. Do you have your older device you could try your ppcarm on?

You will have to address the PIC/PIE issue but you could be looking at the compiler using machine language instructions that aren't supported by your hardware (as previously described). If my guess about the tablet being newer is correct, I doubt it. Still it looks like my ppcarm supports over a dozen different instruction sets. And their is always the chance some other form of crash is causing that message.

Android 6 *definitely* requires PIC binaries, that *definitely* changed in the past three years. A three year old version of FPC would not have been compiled that way. FYI: a PIE binary won't load on a non-PIE enabled OS. I had been reading about ways Google devs were trying to work around that. Of course Google wouldn't want that to happen... so I imagine their efforts were squashed.

----- On 11/16/2015 Yuri Sidorov wrote: ------
Subject: Re: [fpc-devel] PIE compatible output?

Hi,

The 3.0 release for android is not able to produce correct PIC executables and libraries. You need build an svn trunk version of FPC to produce PIC/PIE binaries for android.
[...]
---------------------------------

If you look in the archives of this mail list you should be able to view our exchange.

So my money is on you needing to build your own version of ppcarm with PIC enabled. And you may need to fiddle with the instruction set used. You can either do this by cross compiling on another FPC supported platform, which typically means building your own "binutils". Or, depending on what you have available, the needed prebuilt binaries to cross compile may already be available through the usual FPC channels (I think I saw windoze zips).

Or you can leverage a *real* Linux based ARM platform such as Rpi or CHIP. That was actually one of my motivating factors to get involved with CHIP. A native ARM platform to build binaries, specifically units, for Android for only $9 USD! I still want to cluster a bunch of these things in a stock PC tower case to use as compiling nodes. Too many cool projects and so little time! :-(

--
Jon Foster
JF Possibilities, Inc.
j...@jfpossibilities.com

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to