Hi,
An 'issue' I encountered when I create my SYS/BIOS test program by using CCS v5 for C6748. The test program was created to get the load address of a data section.
It would take a little bit long duration to complete the linking process due to the warning #17009-D. The linking duration was proportional to code size. It would take 0.5 hour when linking a hundred of .obj files.
This type of warning information was attached below:
"A/SRC/test.c", line 171: warning #17009-D:
relocation type is static base-relative, but references symbol
"__testbg_adr" defined in section ".tbg"; references to section ".tbg"
are not relative to any static base, so this relocation cannot be performed
(type = 'R_C60BASE' (80), file = "./A/test.obj", offset =
0x00000024, section = ".text")
'__testbg_adr' was used in 'test.c' to provide the load address of section ".tbg", it was defined in a .asm file like:
; testdata.asm
.sect ".tbg"
.global __testbg_adr
.label __testbg_adr
.word 0
.word 0
...
Link command file for this section:
MEMORY
{
...
DDR : org = 0xc0000000, len = 0x8000000
}
SECTIONS
{
.tbg: load = DDR
...
My questions were,
1. was it an issue?
2. how should I deal with this warning to improve the linking process?
3. was it reasonable to get the load address of a section like the way I list above, were there alternatives to get the load address of a section?
Xiaoping.