This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

cannot figure out this link warning

I am using 5.20 if it matters

I have a function that is indirectly called from an array of functions. This function is contained in its own module. When I link, I get the following warning:

WARNING 16: Uncalled Segment, ignored for overlay process
segment: ?CO?FACT_CON

in this module I have one variable that I define as

static float code ideal_values[LAST_POINT] ={

if I change the "code" to "const" (or remove it entirely), it will link with no warnings, but now the variable is taking up XDATA, and with only 2K of it, XDATA is VERY precious...

I've also tried several other incantations of the same line of code. It either ends up in XDATA, or gives me the warning.

I've had this problem in several other places, but until now, I chosen to ignore it... any ideas? (if anyone thinks more info is needed, please ask, I just didn't want to flood the list with things like link maps, and other such things)

Parents
  • Okay, one thing you can try is the NOOL option for the linker. This makes all data non-overlay, so it may take up data space if you have automatic variables. If all your data is static, you will get little or no increase in data space, and the warning will go away.

    If you need to run in overlay mode, the other way to eliminate this warning is with the OVERLAY command in the linker.

    The linker is basically saying that it cannot find any reference to this object anywhere in the code. By using the OVERLAY command, you tell the linker what is going on. There are several examples in the UTILITIES manual. One of them should be what you need or close.

    We used this in a previous project where we used OVERLAY mode, and it worked fine. It can be a little cumbersome to use (i.e. it must be maintained when you add indirect function calls) but it does work.

Reply
  • Okay, one thing you can try is the NOOL option for the linker. This makes all data non-overlay, so it may take up data space if you have automatic variables. If all your data is static, you will get little or no increase in data space, and the warning will go away.

    If you need to run in overlay mode, the other way to eliminate this warning is with the OVERLAY command in the linker.

    The linker is basically saying that it cannot find any reference to this object anywhere in the code. By using the OVERLAY command, you tell the linker what is going on. There are several examples in the UTILITIES manual. One of them should be what you need or close.

    We used this in a previous project where we used OVERLAY mode, and it worked fine. It can be a little cumbersome to use (i.e. it must be maintained when you add indirect function calls) but it does work.

Children
No data