This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Relocation overflow problem

Hi all...

I am working on H264 decoder in CCS simulator, while making the code XDAIS , i encountered these errors.

error: relocation overflow occurred at address 0x0000000c in section
            '.text' of input file 'C:/durgesh1/xdias desk backups/working
            codes/xdias working run error/xdias/TCS_DEC/LIBRARY/TCS_DEC.l64P'.
            The 23-bit relocated address 0x49d9f4 is too large to encode in the
            15-bit field. You may need to add a mask to the assembly
            instruction or use other target specific assembly features if you
            really only need the lowest 15 bits of this symbol. Please see the
            section on Relocation in the Assembly User's Guide.

 In order to solve the issue, I was told to change "memory models" in bulid options, "preprocessor" category from "far Aggregate" to FAR(..mem_model:data=far). this solution didnt solve my error. If i build it in far aggregate, the code wil give bit axactness....but it wil fail XDAIS rule 26: All Static/Global data must be far on C6X..So in order to pass that rule, I made it FAR(..mem_model:data=far), my making this change, I got this error. Could anyone give the solution to solve this issue....

 

  • I can think of two potential causes, first being if the TCS_DEC.l64P library was built with an older version of the tools it may not have code that is compatible with the current far option, so it may be worth rebuilding the library if you can.

    Second would be if that library has a variable that is using the near keyword within it as discussed in section 6.4.4.1 of SPRU187o, this would force it to access the variable as near which would bring up this error if it is not possible for it to be near.

    There is also a wiki article on this error.