indirect jmp redux (Mac OS on Intel)

Gale Paeper gpaeper at empirenet.com
Fri Mar 9 18:04:23 CET 2007


On Mar 7, 2007, at 8:43 PM, Frederick Karl Kepner DuPuy wrote:

> Hi. Regarding gpc for Mac OS X on Intel, I found a thread in the
> archives (see below) from October 2006 concerning an error message a
> user (Nestor Aguilera) got in compiling even the simplest programs.
> Unless I'm misreading the thread, no final conclusion was reached. Is
> anything further known now?
>
> Here's the thread:    http://www.gnu-pascal.de/crystal/gpc/en/ 
> mail13854.html
> And the gist of the error messages:    indirect jmp without `*'
>
> I'm having the same issue he had: programs which used to compile and
> execute happily with the gpc for PPC compiler are less happy with the
> gpc for Intel compiler--- they're still compiling, but issuing this
> error message repeatedly as they do so.

If you compile to assembly for the Intel target, the assembly code  
will assemble without errors using Apple's latest as.  (The assembled  
binary disassembles back to the correct indirect jump instruction  
with the * included so the right instruction bit pattern is getting  
generated with Apple's latest as even with out the * on the indirect  
jump assembly code.)

> I believe the output executes OK; but you can see why this is
> unsettling. So: is this a problem, or just an annoyance to be lived
> with? And is it happening to everybody trying to use gpc for Mac on
> Intel? (If so I'm curious as to why it hasn't been discussed since
> October.)

I ended up finding a solution to the problem by installing an older  
version of cctools, modifying Adriaan's GPC build scripts so the  
Intel compilers use the older cctools, and then using the modified  
scripts to build and install the PPC and Intel native and cross  
compilers.

To leave Apple's Xcode installed version of cctools unmodified, I  
ended up using an Open Darwin odcctools package since that package's  
install script was written to allow for easy installing to a user  
specified installation directory.  (Apple's cctools package install  
script isn't written to allow for easy user specification of an  
installation directory.)

Since I needed a later version of GPC (gpc-20060325) than the version  
Adriaan has in his Mac OS X sources package for the bug fixes and  
additional MacPascal dialect support, I also updated Adriaan's Mac OS  
X gpc patch file and build scripts to build and install gpc-20060325  
PPC and Intel native and cross compilers.  In my updated version of  
Adriaan's Mac OS X sources package, I also included the odcctools  
package and modified Adriann's build-on-xx command scripts to include  
building and installing that package's tools.

My modified and updated version of Adriaan's Mac OS X GPC sources  
package is 24.2 MB when zipped.  If you want a copy of it so you can  
build a gpc-20060325 based version of GPC for Mac OS X (PPC and/or  
Intel)  which uses the older odcctools verion as for assembling to  
avoid the "indirect jmp without `*'" error messages, let me know.

In regards to who might be encountering the problem,  it is only  
those Mac OS X users who are using the Xcode version 2.4.x installed  
as to assemble the GPC generated Mac Intel assembly code output that  
will experience the problem.

Gale Paeper
gpaeper at empirenet.com







More information about the Gpc mailing list