Nestor Aguilera wrote:
On 5 Oct, 2006, at 20:12, Gale Paeper wrote:
Nestor Aguilera wrote:
Hi,
I am running Mac OS X 10.4.8 on a MacBook Intel 2Ghz Core Duo, using gpc installed from gpc345u2-intel.dmg (downloaded from http:// www.microbizz.nl/gpc.html).
I don't have am Intel Mac so I can't test to see what might be going wrong. On a PPC Mac, your helloworld.p example compiles and runs with no problem.
I had no problem with Mac OS X 10.3.9 and a G4.
Do you know what the messages mean?
First, Adriaan (the person's web site where you download GPC from) is the Mac OS X GPC expert on problems like this. But he's tied up with "pays the bills" work right now so I'm trying to help out where I can.
I'm not for certain about it, but the messages look like some code generation issues in the long jump asnd position independent code area that Adriaan has had to find a fix for before for both the PPC and Intel Mac OS X GPC compilers. But I'm fairly certain Adriaan got all the known issues in that area taken care of in one way or other so at least compiling with the configured default setttings works.
The ".s" and the rest of the file name in "/var/tmp//ccz2cAa1.s" indicates it is the assembler "as" that is finding a problem with the assembly code that the GPC compiler proper has generated for the hello world test program. The file is a temporary file that is the same as you get with "gpc -S helloworld.p". (The -S tell GPC just to compile the Pascal program/unit file to the assembly code stage and not continue on with assembling to object code and linking into a executeable.)
When compiling I get errors involving "indirect jmp without `*'" as in
$ gpc helloworld.p
You might try using "gp" instead of "gpc", i.e.,:
gp helloworld.p
I tried it but got the same errors.
By the way, could you tell me what is the difference between "gp" and "gpc" in this case?
Hmmm. gp is in essense the "new, improved, bug fixed" way to compile Pascal code with the GNU Pascal compiler system. gp does (or is supposed to do) a better job of analyzing and orchestrating what needs to be done to correctly compile and build a Pascal program than what gpc currently does in that area. gp invokes gpc to do most of the dirty work of actually compiling source code files but the command line parameters that get sent to gpc aren't necessarily the same as one might type for a direct gpc command line program compile and build.
For a simple hello world program like yours I'm not sure there is any difference in command line parameters that are used in invoking gpc. It was something of a stab in the dark try at something that might end up working around whatever might be causing the problem.
Other than that and without a real Intel Mac to test with, I don't know what might be the problem. I'm fairly certain other people have used the GPC in that download package on an Intel Mac and I haven't seen a reports of problems like yours.
Gale Paeper
Since I use Pascal for work and teaching, I really need a reliable compiler, preferably with fast execution times. Do you think I could use any of the other binaries (e.g. for 10.3.9 PPC or 10.4 PPC) in the Intel machine? Any suggestions?
The gpc345u2-intel.dmg package installs a GPC cross compiler for PPC code generation along with the native Intel compiler. The installation is set up to associate gpc and gp with the native code generation tools. In the README file that gets installed in /Developer/Pascal/, there is a list of commands that show what commands to use to get a specific architecture's compiler used for compiling and building. On an Intel Mac, gpc-ppc or gp PC=gpc-ppc are the commands for getting a PPC code cross compile. The cross compiled PPC machine code program should still run on an Intel Mac but it will run using the Rosetta PPC emulator. (The cross compiler itself is native machine code so there isn't any performace penalty in compiling. It will just be the produced application that has the emulator prformance penalty.)
Based upon what Glenn Howes has said about 10.3.9 PPC generated programs in the "compiling static library + gpc runtime" discussion thread, that compiler version may have a linking and/or program running problem with 10.4 Macs.
As to the 10.4 PPC binary install set, I don't know whether Adriaan set up the install package to allow for installation on an Intel Mac. In theory, I think the binaries in the 10.4 PPC install package could be used on an Intel Mac but it is strictly a thrillseeker hacker type of thing.
Gale Paeper gpaeper@empirenet.com