Other Parts Discussed in Thread: SYSBIOS
Tool/software: TI C/C++ Compiler
Environment:
- CCS 7.1.0 build 16
- CGT 8.1.3
- SYSBIOS 6.50
Phenomenon:
- I have a SYSBIOS project which i can successfully create & run when I use the non-multithread version of RTS library (The linker parameter '--multithread' is not provided).
- When I link the multithreaded RTS library, I got the linking warning described below:
- "errno.c", line 87: warning #17003-D: relocation from function "__c6xabi_errno_addr" to symbol "__errno" overflowed; the 24-bit relocated address 0x8376dc is too large to encode in the 15-bit unsigned field (type = 'R_C6000_TPR_U15_B' (38), file = "D:\devel\ti\ccs710\ccsv7\tools\compiler\ti-cgt-c6000_8.1.3\lib\rts6000_elf_mt.lib<errno.obj>", offset = 0x0000000c, section = ".text:__c6xabi_errno_addr")
- warning #10015-D: output file "xxx.out" cannot be loaded and run on a target system.
I checked the errno.c and errno.h in the libsrc folder. I can see the __errno symbol is defined and declared using _DATA_ACCESS which is "__far".
Since the memmodel of the __errno is already FAR, it should be accessed from anywhere without using DP, but why I am getting the linking warning listed above?