I saw this error before working in the PowerPC architecture. Assuming that you are working in a similar environment, the problem should specifically concern the amount of memory in the system and the range of the relative branch command.
Argonne National Laboratories has a web page detailing their experience with the same problem . The following excerpt explains the problem with relative addressing:
The relative PowerPC branch command is limited to jumps between +/- 32 MB of the current command (24 bits = +/- 4 M instructions, 4 bytes per command = +/- 32 MB). Unfortunately, the vxWorks kernel gets to the bottom of RAM, but it loads all the application code at the top end. If they are separated by more than 32 MB (if you have 64 MB or more on board), then when he tries to download the application, encode those calls that use these relative branch instructions. VxWorks procedures cannot be resolved for 24 bits, and the bootloader prints the message you see.
The proposed fix for this problem, both in Argonne National Labs, is to recompile loaded modules with the -mlongcall flag -mlongcall .
The initial question states that this flag was not a problem for your problem. The gnu flag is set, but there is no additional information for your compiler. Given that I can only suggest checking your compiler documentation and -mlongcall sure the -mlongcall flag -mlongcall valid.
Assuming the flag is supported, this could be caused by a linked library that itself was not compiled with the -mlongcall flag. An article in ComplexIT describes a similar problem, also in PowerPC architecture, using QT. To solve this problem, a rebuild of all libraries, including QT, was required.
source share