indirect jmp

Nestor Aguilera aguilera at ceride.gov.ar
Fri Oct 6 16:09:26 CEST 2006


Gale: thank you very much for your comments, patience and time!  
Perhaps Adriaan can give me a hand when he finds some time.

                                                  Nestor

=======================================================================

On 6 Oct, 2006, at 7:38, Gale Paeper wrote:

> 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 at empirenet.com







More information about the Gpc mailing list