Welcome, Guest. Please login or register.
Amiga Kit Amiga Store Iridium Banner AMIStore App Store A1200/A600 4xIDE Interface

AuthorTopic: GCC linking with warpos  (Read 1480 times)

0 Members and 1 Guest are viewing this topic.

  • Guest
GCC linking with warpos
« on: March 20, 2003, 11:31:29 PM »
I get some errors when linking with GCC warpos.

Error: Undefined Symbol: PPCAllocVec
Error: Undefined Symbol: PPCFreeVec
Error: Error processing Elffile !

Is there anything I can do about this? Why is it not compilrd with warpos functions only?

JJ
 

Offline Karlos

Re: GCC linking with warpos
« Reply #1 on: March 21, 2003, 10:48:23 AM »
Hmm, that doesnt look correct :-(

PPCAllocVec() / PPCFreeVec() are ppc.library (powerup)  function calls. The equivalent WarpOS functions are AllocVecPPC() and FreeVecPPC(), along with companion 68K functions AllocVec32() / FreeVec32().

Assuming youre aiming for powerpc.library (warpOS), the output suggests one of several things

1) One of your sources, if using free/example stuff from the net was written for ppc.library.

2) You have an object, or link library that was compiled for ppc.library in your overall project somewhere.

3) You have cross compiled for a ppc.library target.

Examine your code to see what is #included and ensure that your not using any powerup related stuff. Check your compiler settings, make sure your compiling for warpos. Finally check your lib documentation, make sure your using the correct link libraries etc.

int p; // A
 

Offline trgse

Re: GCC linking with warpos
« Reply #2 on: March 21, 2003, 02:18:33 PM »
you have not supplied the
-warpup
command during compiling and linking.
MacOS X rulez!

Quad Mac Rulez!
 

  • Guest
Re: GCC linking with warpos
« Reply #3 on: March 28, 2003, 03:34:07 AM »
Ah, I missed to change one of the Makefile.
 

Offline cygnusEd

Re: GCC linking with warpos
« Reply #4 on: March 30, 2003, 05:23:44 PM »
Hi,

just a question: which version of gcc do I need for WarpOS?
I have installed 2.95.3, but there is no option "-warpup".

Where can I download this version of gcc?

Thanx
  CygnusEd
 

Offline Karlos

Re: GCC linking with warpos
« Reply #5 on: March 30, 2003, 06:16:19 PM »
On a related matter,

Has anybody created shared libraries with gcc?

Does anybody know if a StormC v3 shared library project can use .o files generated by gcc?

Sombody answer or I'll stick another groaner in the EMINEM thread :-D

Cheers
int p; // A
 

Offline Karlos

Re: GCC linking with warpos
« Reply #6 on: March 31, 2003, 11:40:38 AM »
Quote

Karlos wrote:

Sombody answer or I'll stick another groaner in the EMINEM thread :-D

Cheers


Don't say I didn't warn ya!

:-D
int p; // A
 

  • Guest
Re: GCC linking with warpos
« Reply #7 on: April 01, 2003, 01:04:03 AM »
So do I need to change this??

{
 /* Set first ticks value */
 if(!MyTimer)
  PPC_TimerInit();

 PPCGetTimerObject(MyTimer,PPCTIMERTAG_CURRENTTICKS,start);
 start[1]>>=10;
 start[1]|=((result[0]&0x3ff)<<22);
 start[0]>>=10;
}

 

  • Guest
Re: GCC linking with warpos
« Reply #8 on: April 01, 2003, 01:14:32 AM »


On a related matter,

Has anybody created shared libraries with gcc?

Does anybody know if a StormC v3 shared library project can use .o files generated by gcc?

Sombody answer or I'll stick another groaner in the EMINEM thread

Cheers

--------------

What the h*ll do you mean by that?? Explain
 

Offline Karlos

Re: GCC linking with warpos
« Reply #9 on: April 01, 2003, 01:00:42 PM »
Quote

JoJo wrote:
So do I need to change this??

{
 /* Set first ticks value */
 if(!MyTimer)
  PPC_TimerInit();

 PPCGetTimerObject(MyTimer,PPCTIMERTAG_CURRENTTICKS,start);
 start[1]>>=10;
 start[1]|=((result[0]&0x3ff)<<22);
 start[0]>>=10;
}



Hi jo jo,

Hmmm. That looks suspiciously like ppc.library dependent code.
You can ususally tell ppc.library stuff - the ppc native  function are named like 'PPCSomethingOrOther()'.
The ppc.library and its associated functions are from phase5's powerUP kernel.

WarpOS is a rival kernel was developed by Haage&partner and is not directly comaptible with powerUP (there is an emulation available though).

WarpOS ppc native function names are ususally named like 'SomethingOrOtherPPC()'.

What you seem to have here is case 1 in my original answer - there is ppc.library dependent code in your project.

So, to answer your question, yes, you will need to change the above code to use the equivalent resources available in the WarpOS kernel.

I don't have access to my dev info just now, but WarpOS has also has a ppc native timer function that morror the 68k's timer.device's 'GetSysTime()' - called, unsurprisingly, GetSysTimePPC().

Creating delays with warpOS is also relatively easy. It has a function that behaves like exec.library's Wait(), but with an additional timeout argument. I think it's called WaitTimePPC().

Anyway, don't worry about my post about the linked library stuff - it was just a general gcc linking question and nothing to do with your code :-)
int p; // A