[2 days left] What’s wrong with your cloud strategy? Learn why multicloud solutions matter with Nimble Storage.Register Now

x
?
Solved

how to solves these errors? use borland c 3.1 .

Posted on 2004-11-01
8
Medium Priority
?
461 Views
Last Modified: 2008-03-04
compiling  my project don't appear any errors ,but linking my project appear tow errors.
 the errores :

linker Error:Fixup overflow at _TEXT:015E,targer = _OSStartHighRdy in module
UCOS_II.C
linker Error:Fixup overflow at _TEXT:015E,targer = _OSIntCtxSw in module
UCOS_II.C
0
Comment
Question by:lmphp
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
  • 2
  • +2
8 Comments
 
LVL 46

Assisted Solution

by:Kent Olsen
Kent Olsen earned 600 total points
ID: 12462919

Hi lmphp,

The Turbo C 3.x library doesn't contain these two routines.  They have names that suggest that they are communications related, so you're probably not linking from the correct library or the names have been misspelled.

Kent
0
 
LVL 16

Assisted Solution

by:PaulCaswell
PaulCaswell earned 300 total points
ID: 12463782
Take Kents advice first but if that doesn work (perhap these functions ARE there):

Fixup overflow usually means that a segment has broken a 64K limit. Try generating a .MAP file using linker parameters (I dont know the Borland ones but the Microsoft ones use /MAP). With this MAP file you may be able to see which segment needs splitting.

Paul
0
 
LVL 46

Accepted Solution

by:
Kent Olsen earned 600 total points
ID: 12463874

Paul's right.  Those modules exist, or you'd get "unsatisfied external" errors.

Generate a loadmap and check it.  The Text segment (code segment) is probably more than 64K.

Depending on a LOT of different things, you might be able to get around this by using the HUGE memory model, or performing any of several "tricks".

Basically, you've got a huge program that you want to run in a 16-bit world.  You might have to get very creative.

Kent
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 59

Assisted Solution

by:Julian Hansen
Julian Hansen earned 450 total points
ID: 12463988
I think Kdo is close on this one. From what I remember of my Borland days was the memory module you chose to compile under was very important when it came to linking. Selecting large or huge had certain ramifications when it came to declaring functions and variables - you need to specify the pointers as large or huge so they would work across segment boundaries.

I cannot remember enough to give you an exact solution but I would start by looking at your memory modle and work from there.
0
 
LVL 22

Assisted Solution

by:grg99
grg99 earned 150 total points
ID: 12466229
"Fixup overflow" is a hard problem to fix.   Sometimes it's due to a symbol being defined into the wrong segment.  Then when the linker tries to define the symbol, the value overflows the segment.  

The problem *might* be that somewhere "_OSStartHighRdy" and "_OSIntCtxSw" are defined as externals, either as "NEAR" externals or not explicitly as "FAR" externals.   Or they're not declared into their own "combine type", or accidentally declared into the main "CODE" combine type.
Then later on the linker tries to cram the code of those routines into the default CODE segment, and they won't fit.

The fix is to carefully read the instructions for using those routines.  The writers probably ran into the same problem, and if they're nice they documented how to get things to work, either with an explicit "FAR" somewhere, or a special linker directive to place the extra code in its own segment.


0
 
LVL 16

Assisted Solution

by:PaulCaswell
PaulCaswell earned 300 total points
ID: 12470819
I think your first step is as greg suggests. Look for any any linker directives in the suppliers documentation.

If this doesnt help, try building your package in the 'huge' model. This is the only one that allows for multiple code segments.

After that you're in the realm of massaging the build process.

The quickest answer, if it works, is to look for static data that may be being installed in your code segment. With the Microsoft compilers you can use /Gt32 (or less) to make static data larger than the specified value go into a data segment. I dont know if there is an equivalent in the borland system.

Next, try to find code that is unnecessary. You may have an excess of debug code. There are techniques for making debug completely disappear at release time. Use of one of those along with removing some rarely used code from the debug version can often provide a stop-gap solution.

Has anything we have suggested worked? Get back to us, even if its to say you've solved the problem.

Paul
0
 
LVL 1

Author Comment

by:lmphp
ID: 12491639
thanks all of you !
the problems was solved. when i used another compiler , these codes worked very well.
may be I should split those codes to all of you for thanks!
0
 
LVL 1

Author Comment

by:lmphp
ID: 12491649
thanks all of you !
the problems was solved. when i used another compiler , these codes worked very well.
may be I should spilt those codes to all of you for thanks!
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This tutorial is posted by Aaron Wojnowski, administrator at SDKExpert.net.  To view more iPhone tutorials, visit www.sdkexpert.net. This is a very simple tutorial on finding the user's current location easily. In this tutorial, you will learn ho…
Examines three attack vectors, specifically, the different types of malware used in malicious attacks, web application attacks, and finally, network based attacks.  Concludes by examining the means of securing and protecting critical systems and inf…
The goal of this video is to provide viewers with basic examples to understand opening and writing to files in the C programming language.
The goal of this video is to provide viewers with basic examples to understand and use switch statements in the C programming language.

656 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question