Jump to content
Sign in to follow this  
kmjeffer

Bug In New Linker?

Recommended Posts

I encountered an error with the new linker on a project that I'm working on, and went through building some older projects, with SourceBoost 597 and 600, and all of them build as expected in 597, but none link successfully using 600.

 

I get errors like:

BoostLink Optimizing Linker Version 6.00
http://www.picant.com/c2c/c.html
Copyright(C) 2004-2005 Pavel Baranov
Copyright(C) 2004-2005 David Hobday

Single user Lite License (Unregistered) for 0 nodes
Limitations: PIC12/PIC16 max code size:2048 words, max RAM banks:2, Non commercial use only

Optimisation level:1
Warning: Unable to successfully create 'delay_us' for target with clock freq 4000000 Hz
Warning: argument of 'delay_10us' calls must have a value of 1 or more
Internal Error: Unable to resolve label ID:0x100000F6

Failure
BUILD SUCCEEDED: Fri May 20 14:55:27 2005

or

BoostLink Optimizing Linker Version 6.00
http://www.picant.com/c2c/c.html
Copyright(C) 2004-2005 Pavel Baranov
Copyright(C) 2004-2005 David Hobday

Single user Lite License (Unregistered) for 0 nodes
Limitations: PIC12/PIC16 max code size:2048 words, max RAM banks:2, Non commercial use only

Optimisation level:1
Warning: Unable to successfully create 'delay_us' for target with clock freq 4000000 Hz
Warning: argument of 'delay_10us' calls must have a value of 1 or more
Internal Error: Unable to resolve label ID:0x1000015A

Failure
BUILD SUCCEEDED: Fri May 20 14:56:32 2005

 

The linker seems to fail if executed from either SourceBoost or MPLAB (v7.11).

 

 

If I use 597, instead the linker says:

BoostLink Optimizing Linker Version 2.2.5 Beta
http://www.picant.com/c2c/c.html
Copyright(C) 2004-2005 Pavel Baranov
Copyright(C) 2004-2005 David Hobday
Optimisation level:1


Warning: Unable to successfully create 'delay_us' for target with clock freq 4000000 Hz
Warning: argument of 'delay_10us' calls must have a value of 1 or more
Building CASM file

Memory Usage Report
===================
RAM available:368 bytes, used:36 bytes (9.8%), free:332 bytes (90.2%), 
Heap size:317 bytes, Heap max single alloc:95 bytes
ROM available:4096 words, used:429 words (10.5%), free:3667 words (89.5%)

Successful

and

BoostLink Optimizing Linker Version 2.2.5 Beta
http://www.picant.com/c2c/c.html
Copyright(C) 2004-2005 Pavel Baranov
Copyright(C) 2004-2005 David Hobday
Optimisation level:1


Warning: Unable to successfully create 'delay_us' for target with clock freq 4000000 Hz
Warning: argument of 'delay_10us' calls must have a value of 1 or more
Building CASM file

Memory Usage Report
===================
RAM available:368 bytes, used:55 bytes (15.0%), free:313 bytes (85.0%), 
Heap size:298 bytes, Heap max single alloc:95 bytes
ROM available:4096 words, used:815 words (19.9%), free:3281 words (80.1%)

Successful

For the same projects, respectively.

 

Please help, I'll stick with 597 as long as I can! =)

 

Thanks,

Kevin

 

PS- When using 597 with MPLAB, the expiration notification window never pops up. I've observed that after clicking on the "build" icon, MPLAB loses focus, but no windows pop up. If I then just hit enter without clicking on anything, it finishes building. Also, if I alt-tab to see the open windows, a blank white icon with a blue bar (the default for "windows doesn't have an icon for this" or whatever) is in the alt-tab list. If I select any of the windows, including that one, with alt-tab, the icon disappears from the alt-tab list, and then boostc fakes being locked up, because its waiting on information from the invisible expiration window. Weird, huh!

Share this post


Link to post
Share on other sites

Kevin,

 

That doesn't sound good :(

 

If you can zip up the project that exhibits these symptoms and send it to support@picant.com, then we can investigate this problem.

 

Regards

Dave

Share this post


Link to post
Share on other sites

Hi Dave,

 

Done, sir

 

Thanks,

Kevin

 

Edit- I forgot to mention in the email, they also won't link if I use the linker from within SB instead of MPLAB. Interestingly enough, the label it says throw it off seem to be different between MPLAB and SB.

Edited by kmjeffer

Share this post


Link to post
Share on other sites

Kevin,

 

The problem is the return in the interrupt service routine, comment out the return and the code compiles.

This is the work around for now, a proper fix will come later.

 

void interrupt(void)
{
return; // this causes the Unable to resolve label ID:
}

void main(void)
{

}

 

Regards

Dave

Share this post


Link to post
Share on other sites

Dave,

 

Interesting, makes sense that it would have problems finding the label if its popping too many return addresses or something along those lines.

 

Thanks for the help,

Kevin

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...