Sinisa Marovic (AC/EDD) writes: > since it is possible to do long jumps running ARM code, I was wondering > if this is possible: > > Using prc tools it is possible to compile segments larger than 64 kb (I > tried it, you can even build prc). The only problem is that such prc will not > run on your palm. But what if we put such compiled executable into an .pdb or > onto a memory card, load it with some 'loader' code into a heap, and then run > it from there? Would this be possible, or is ti complete nonsence?
You can do just that with Peal: http://www.sealiesoftware.com/peal/ Peal is an ELF postlinker and loader for Palm ARM code. It provides support for global variables and code segments bigger than 64 KB. Using large code looks something like this: 1. Link with `--split-by-file=64000`, which chops your program up into sufficiently small object files. 2. Run the Peal postlinker, which translates those object files into Palm OS resources, and adds reconstruction information for use at runtime. 3. At runtime, call PealLoadFromResources() to load the ARM code and connect the separate code resources to each other and to any global data. 4. Use PealLookupSymbol() and PealCall() to call your ARM code. See "LARGE CODE" in the Peal readme for more details. Peal doesn't require a memory card, and doesn't copy any of the code to the dynamic heap, which saves memory. -- Greg Parker [EMAIL PROTECTED] pssh: SSH 2 for Palm OS 5 http://www.sealiesoftware.com/pssh/ Peal: Palm ELF ARM Loader http://www.sealiesoftware.com/peal/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
