Hi Eddie!

Hmmm, my project uses a simple .bat file instead of a makefile.  But here's
most of it:

----------------------------------
pilrc.exe EDPDA.rcp
cls
echo Step 0 -----------------------------------------------------
m68k-palmos-multigen EDPDA.def
m68k-palmos-gcc -c EDPDA-sections.s
echo Step 1 -----------------------------------------------------
m68k-palmos-gcc -g -I
/PalmDev/sdk-4/include/Handspring/PalmDev/include/Handspring -DDEBUG -c
EDPDA.c -o EDPDA.o
echo Step 2 -----------------------------------------------------
m68k-palmos-gcc -g -DDEBUG EDPDA.o EDPDA-sections.o -o EDPDA
EDPDA-sections.ld
echo Step 3 -----------------------------------------------------
REM m68k-palmos-obj-res EDPDA
echo Step 4 -----------------------------------------------------
build-prc  EDPDA.def -o EDPDA.prc -n "EDPDA" -c GTSa EDPDA *.bin
----------------------------------


And the only thing I notice is the assembly/linking of EDPDA-sections.s
(obviously myMain-Sections.s in your case).  I'm not sure that I see this
taking place in your makefile.

Dennis Leas
-----------
[EMAIL PROTECTED]



-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Eddie
Ludema
Sent: Tuesday, March 25, 2003 10:51 PM
To: Palm Developer Forum
Subject: RE: Multi-section apps / calling functions


Thanks for the reply Dennis!  I really appreciate the help.

I tried to make the code as simple as I could and put it all in one file
(like you were mentioning), just to see if I could even get that to work.  I
still get that same error though - aaargh...

Here's some revamped, simplified code.  All the standard Palm functions have
been cut short to save on space:

//**************************************************************
#include <PalmOS.h>
#include "resource.h"

// Function(s) in additional section (segment1)

void testing(void) __attribute__((section("segment1")));

// Function(s) in main/default section

void     mainTesting(void);
Boolean  ApplicationEventHandler(EventPtr event);
void     EventLoop();
Err      StartApplication();
void     StopApplication();

Char myTemp[50]; // Some global var

void testing(void) // in "segment1"
{
   StrCopy(myTemp, "in_testing");
}

void mainTesting(void)
{
   StrCopy(myTemp, "in_mainTesting");
   testing();  // <-- produces "undefined reference
               //               to '__text__segment1'"
}

Boolean ApplicationEventHandler(EventPtr event)
{ ... }

void EventLoop()
{ ... }

Err StartApplication()
{ ... }

void StopApplication()
{ ... }

UInt32 PilotMain(UInt16 launchCode, MemPtr cmdPBP, UInt16 launchFlags)
{ ... }

//**********************

The .def file contains:
application { "testApp" blah }
multiple code { segment1 }

I'll keep staring at it... it has to be something simple.  It might be an
issue in the makefile (which is posted at the beginning of the thread.)
I'll just keep looking.

Thanks again for your time and help, Dennis.
Eddie



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/

Reply via email to