Solved

how to solves these errors? use borland c 3.1 .

Posted on 2004-11-01
431 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
Question by:lmphp
    8 Comments
     
    LVL 45

    Assisted Solution

    by:Kdo

    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
    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 45

    Accepted Solution

    by:

    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
     
    LVL 48

    Assisted Solution

    by:Julian Hansen
    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
    "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
    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
    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
    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

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    What Security Threats Are You Missing?

    Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

    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…
    This is a short and sweet, but (hopefully) to the point article. There seems to be some fundamental misunderstanding about the function prototype for the "main" function in C and C++, more specifically what type this function should return. I see so…
    The goal of this video is to provide viewers with basic examples to understand and use structures in the C programming language.
    Video by: Grant
    The goal of this video is to provide viewers with basic examples to understand and use nested-loops in the C programming language.

    856 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

    Need Help in Real-Time?

    Connect with top rated Experts

    18 Experts available now in Live!

    Get 1:1 Help Now