Hi,
I'm adding support of AAC-LC decoder into my application.
The application runs on C6486 (6 cores tomahawk).
I'm using Code Generation tools 7.2.3 without sys bios and with custom built makefile.
AAC decoder for C64x+ version 01.30.03 that was just downloaded from TI site
When I add this library to the linker, I get a lot of warnings:
<Linking>
warning: relocation to symbol "_AACDEC_TII_reset" overflowed; the 31-bit
relocated address 0x20004228 is too large to encode in the 21-bit signed
PC-Relative field (type = 'R_C60PCR21' (82), file =
"audio_channel/audio_codecs/TI_AAC_LC/lib/aacdec_tii.l64P<aacdec_tii.o64P>",
offset = 0x00000000, section = ".tramp._AACDEC_TII_reset.1")
warning: relocation to symbol "_AACDEC_TII_getStatus" overflowed; the 31-bit
relocated address 0x20002ef0 is too large to encode in the 21-bit signed
PC-Relative field (type = 'R_C60PCR21' (82), file =
"audio_channel/audio_codecs/TI_AAC_LC/lib/aacdec_tii.l64P<aacdec_tii.o64P>",
offset = 0x00000000, section = ".tramp._AACDEC_TII_getStatus.1")
warning: relocation to symbol "_AACDEC_TII_reset" overflowed; the 31-bit
relocated address 0x20004228 is too large to encode in the 21-bit signed
PC-Relative field (type = 'R_C60PCR21' (82), file =
"audio_channel/audio_codecs/TI_AAC_LC/lib/aacdec_tii.l64P<aacdec_tii.o64P>",
offset = 0x00000000, section = ".tramp._AACDEC_TII_reset.2")
warning: relocation to symbol "_AACDEC_TII_reset" overflowed; the 30-bit
relocated address 0xe00001f0 is too large to encode in the 21-bit signed
PC-Relative field (type = 'R_C60PCR21' (82), file =
"audio_channel/audio_codecs/TI_AAC_LC/lib/aacdec_tii.l64P<aacdec_tii.o64P>",
offset = 0x00000000, section = ".tramp._AACDEC_TII_reset.1")
warning: relocation to symbol "_AACDEC_TII_getStatus" overflowed; the 30-bit
relocated address 0xe0000010 is too large to encode in the 21-bit signed
PC-Relative field (type = 'R_C60PCR21' (82), file =
"audio_channel/audio_codecs/TI_AAC_LC/lib/aacdec_tii.l64P<aacdec_tii.o64P>",
offset = 0x00000000, section = ".tramp._AACDEC_TII_getStatus.1")
warning: relocation to symbol "_AACDEC_TII_reset" overflowed; the 30-bit
relocated address 0xe00000b0 is too large to encode in the 21-bit signed
PC-Relative field (type = 'R_C60PCR21' (82), file =
"audio_channel/audio_codecs/TI_AAC_LC/lib/aacdec_tii.l64P<aacdec_tii.o64P>",
offset = 0x00000000, section = ".tramp._AACDEC_TII_reset.2")
"aac_decoder.c", line 337 (approximate): warning: relocation from function
"AACDEC_TII_Decoder" to symbol
"$Tramp$L$PI$$$.text:__divi:rts64plus.lib<divi.obj>$0x80000000" overflowed;
the 31-bit relocated address 0x20000078 is too large to encode in the 21-bit
signed PC-Relative field (type = 'R_C60PCR21' (82), file =
"audio_channel/audio_codecs/TI_AAC_LC/lib/aacdec_tii.l64P<aacdec_tii.o64P>",
offset = 0x80006ce4, section = ".text:_AACDEC_TII_Decoder")
"aac_huffman.c", line 42 (approximate): warning: relocation from function
"AACDEC_TII_GetPrefix" to symbol "$Tramp$L$PI$$_AACDEC_TII_GetBits_inline"
overflowed; the 31-bit relocated address 0x20000020 is too large to encode
in the 21-bit signed PC-Relative field (type = 'R_C60PCR21' (82), file =
"audio_channel/audio_codecs/TI_AAC_LC/lib/aacdec_tii.l64P<aacdec_tii.o64P>",
offset = 0x80011224, section = ".text:_AACDEC_TII_GetPrefix")
"aac_huffman.c", line 113 (approximate): warning: relocation from function
"AACDEC_TII_HuffDecodeLoop0" to symbol
"$Tramp$L$PI$$_AACDEC_TII_GetBits_inline" overflowed; the 31-bit relocated
address 0x20000020 is too large to encode in the 21-bit signed PC-Relative
field (type = 'R_C60PCR21' (82), file =
"audio_channel/audio_codecs/TI_AAC_LC/lib/aacdec_tii.l64P<aacdec_tii.o64P>",
offset = 0x80010cb0, section = ".text:_AACDEC_TII_HuffDecodeLoop0")
"aac_huffman.c", line 177 (approximate): warning: relocation from function
"AACDEC_TII_HuffDecodeLoop1" to symbol
"$Tramp$L$PI$$_AACDEC_TII_GetBits_inline" overflowed; the 31-bit relocated
address 0x20000030 is too large to encode in the 21-bit signed PC-Relative
field (type = 'R_C60PCR21' (82), file =
"audio_channel/audio_codecs/TI_AAC_LC/lib/aacdec_tii.l64P<aacdec_tii.o64P>",
offset = 0x8000fd90, section = ".text:_AACDEC_TII_HuffDecodeLoop1")
"aac_huffman.c", line 248 (approximate): warning: relocation from function
"AACDEC_TII_HuffDecodeLoop2" to symbol
"$Tramp$L$PI$$_AACDEC_TII_GetBits_inline" overflowed; the 31-bit relocated
address 0x20000048 is too large to encode in the 21-bit signed PC-Relative
field (type = 'R_C60PCR21' (82), file =
"audio_channel/audio_codecs/TI_AAC_LC/lib/aacdec_tii.l64P<aacdec_tii.o64P>",
offset = 0x8000e7b0, section = ".text:_AACDEC_TII_HuffDecodeLoop2")
"aac_huffman.c", line 280 (approximate): warning: relocation from function
"AACDEC_TII_HuffDecodeLoop2" to symbol
"$Tramp$L$PI$$_AACDEC_TII_GetBits_inline" overflowed; the 31-bit relocated
address 0x20000028 is too large to encode in the 21-bit signed PC-Relative
field (type = 'R_C60PCR21' (82), file =
"audio_channel/audio_codecs/TI_AAC_LC/lib/aacdec_tii.l64P<aacdec_tii.o64P>",
offset = 0x8000e830, section = ".text:_AACDEC_TII_HuffDecodeLoop2")
"aac_huffman.c", line 328 (approximate): warning: relocation from function
"AACDEC_TII_HuffDecodeLoop3" to symbol
"$Tramp$L$PI$$_AACDEC_TII_GetBits_inline" overflowed; the 31-bit relocated
address 0x20000028 is too large to encode in the 21-bit signed PC-Relative
field (type = 'R_C60PCR21' (82), file =
"audio_channel/audio_codecs/TI_AAC_LC/lib/aacdec_tii.l64P<aacdec_tii.o64P>",
offset = 0x80010210, section = ".text:_AACDEC_TII_HuffDecodeLoop3")
"aac_huffman.c", line 394 (approximate): warning: relocation from function
"AACDEC_TII_HuffDecodeLoop4" to symbol
"$Tramp$L$PI$$_AACDEC_TII_GetBits_inline" overflowed; the 31-bit relocated
address 0x20000040 is too large to encode in the 21-bit signed PC-Relative
field (type = 'R_C60PCR21' (82), file =
"audio_channel/audio_codecs/TI_AAC_LC/lib/aacdec_tii.l64P<aacdec_tii.o64P>",
offset = 0x8000f070, section = ".text:_AACDEC_TII_HuffDecodeLoop4")
"aac_huffman.c", line 394 (approximate): warning: relocation from function
"AACDEC_TII_HuffDecodeLoop4" to symbol
"$Tramp$L$PI$$_AACDEC_TII_GetBits_inline" overflowed; the 31-bit relocated
address 0x20000028 is too large to encode in the 21-bit signed PC-Relative
field (type = 'R_C60PCR21' (82), file =
"audio_channel/audio_codecs/TI_AAC_LC/lib/aacdec_tii.l64P<aacdec_tii.o64P>",
offset = 0x8000f0c8, section = ".text:_AACDEC_TII_HuffDecodeLoop4")
"aac_huffman.c", line 394 (approximate): warning: relocation from function
"AACDEC_TII_HuffDecodeLoop4" to symbol
"$Tramp$L$PI$$_AACDEC_TII_GetBits_inline" overflowed; the 31-bit relocated
address 0x20000018 is too large to encode in the 21-bit signed PC-Relative
field (type = 'R_C60PCR21' (82), file =
"audio_channel/audio_codecs/TI_AAC_LC/lib/aacdec_tii.l64P<aacdec_tii.o64P>",
offset = 0x8000f100, section = ".text:_AACDEC_TII_HuffDecodeLoop4")
"aac_huffman.c", line 474 (approximate): warning: relocation from function
"AACDEC_TII_HuffDecodeLoop5" to symbol
"$Tramp$L$PI$$_AACDEC_TII_GetBits_inline" overflowed; the 31-bit relocated
address 0x20000028 is too large to encode in the 21-bit signed PC-Relative
field (type = 'R_C60PCR21' (82), file =
"audio_channel/audio_codecs/TI_AAC_LC/lib/aacdec_tii.l64P<aacdec_tii.o64P>",
offset = 0x80010314, section = ".text:_AACDEC_TII_HuffDecodeLoop5")
"aac_huffman.c", line 527 (approximate): warning: relocation from function
"AACDEC_TII_CB_11_Handler" to symbol
"$Tramp$L$PI$$_AACDEC_TII_GetBits_inline" overflowed; the 31-bit relocated
address 0x20000070 is too large to encode in the 21-bit signed PC-Relative
field (type = 'R_C60PCR21' (82), file =
"audio_channel/audio_codecs/TI_AAC_LC/lib/aacdec_tii.l64P<aacdec_tii.o64P>",
offset = 0x8000d820, section = ".text:_AACDEC_TII_CB_11_Handler")
"aac_huffman.c", line 527 (approximate): warning: relocation from function
"AACDEC_TII_CB_11_Handler" to symbol
"$Tramp$L$PI$$_AACDEC_TII_GetBits_inline" overflowed; the 31-bit relocated
address 0x20000060 is too large to encode in the 21-bit signed PC-Relative
field (type = 'R_C60PCR21' (82), file =
"audio_channel/audio_codecs/TI_AAC_LC/lib/aacdec_tii.l64P<aacdec_tii.o64P>",
offset = 0x8000d860, section = ".text:_AACDEC_TII_CB_11_Handler")
"aac_huffman.c", line 527 (approximate): warning: relocation from function
"AACDEC_TII_CB_11_Handler" to symbol
"$Tramp$L$PI$$_AACDEC_TII_GetBits_inline" overflowed; the 31-bit relocated
address 0x20000050 is too large to encode in the 21-bit signed PC-Relative
field (type = 'R_C60PCR21' (82), file =
"audio_channel/audio_codecs/TI_AAC_LC/lib/aacdec_tii.l64P<aacdec_tii.o64P>",
offset = 0x8000d8a8, section = ".text:_AACDEC_TII_CB_11_Handler")
"aac_huffman.c", line 527 (approximate): warning: relocation from function
"AACDEC_TII_CB_11_Handler" to symbol
"$Tramp$L$PI$$_AACDEC_TII_GetBits_inline" overflowed; the 31-bit relocated
address 0x20000048 is too large to encode in the 21-bit signed PC-Relative
field (type = 'R_C60PCR21' (82), file =
"audio_channel/audio_codecs/TI_AAC_LC/lib/aacdec_tii.l64P<aacdec_tii.o64P>",
offset = 0x8000d8d0, section = ".text:_AACDEC_TII_CB_11_Handler")
"aac_huffman.c", line 559 (approximate): warning: relocation from function
"AACDEC_TII_CB_11_Handler" to symbol
"$Tramp$L$PI$$_AACDEC_TII_GetBits_inline" overflowed; the 31-bit relocated
address 0x20000040 is too large to encode in the 21-bit signed PC-Relative
field (type = 'R_C60PCR21' (82), file =
"audio_channel/audio_codecs/TI_AAC_LC/lib/aacdec_tii.l64P<aacdec_tii.o64P>",
offset = 0x8000d8e4, section = ".text:_AACDEC_TII_CB_11_Handler")
"aac_huffman.c", line 561 (approximate): warning: relocation from function
"AACDEC_TII_CB_11_Handler" to symbol
"$Tramp$L$PI$$_AACDEC_TII_GetBits_inline" overflowed; the 31-bit relocated
address 0x20000038 is too large to encode in the 21-bit signed PC-Relative
field (type = 'R_C60PCR21' (82), file =
"audio_channel/audio_codecs/TI_AAC_LC/lib/aacdec_tii.l64P<aacdec_tii.o64P>",
offset = 0x8000d900, section = ".text:_AACDEC_TII_CB_11_Handler")
"aac_huffman.c", line 561 (approximate): warning: relocation from function
"AACDEC_TII_CB_11_Handler" to symbol
"$Tramp$L$PI$$_AACDEC_TII_GetBits_inline" overflowed; the 31-bit relocated
address 0x20000028 is too large to encode in the 21-bit signed PC-Relative
field (type = 'R_C60PCR21' (82), file =
"audio_channel/audio_codecs/TI_AAC_LC/lib/aacdec_tii.l64P<aacdec_tii.o64P>",
offset = 0x8000d950, section = ".text:_AACDEC_TII_CB_11_Handler")
"aac_huffman.c", line 561 (approximate): warning: relocation from function
"AACDEC_TII_CB_11_Handler" to symbol
"$Tramp$L$PI$$_AACDEC_TII_GetBits_inline" overflowed; the 31-bit relocated
address 0x20000020 is too large to encode in the 21-bit signed PC-Relative
field (type = 'R_C60PCR21' (82), file =
"audio_channel/audio_codecs/TI_AAC_LC/lib/aacdec_tii.l64P<aacdec_tii.o64P>",
offset = 0x8000d96c, section = ".text:_AACDEC_TII_CB_11_Handler")
"aac_huffman.c", line 582 (approximate): warning: relocation from function
"AACDEC_TII_CB_11_Handler" to symbol
"$Tramp$L$PI$$_AACDEC_TII_GetBits_inline" overflowed; the 31-bit relocated
address 0x20000018 is too large to encode in the 21-bit signed PC-Relative
field (type = 'R_C60PCR21' (82), file =
"audio_channel/audio_codecs/TI_AAC_LC/lib/aacdec_tii.l64P<aacdec_tii.o64P>",
offset = 0x8000d980, section = ".text:_AACDEC_TII_CB_11_Handler")
"aac_huffman.c", line 584 (approximate): warning: relocation from function
"AACDEC_TII_CB_11_Handler" to symbol
"$Tramp$L$PI$$_AACDEC_TII_GetBits_inline" overflowed; the 31-bit relocated
address 0x20000018 is too large to encode in the 21-bit signed PC-Relative
field (type = 'R_C60PCR21' (82), file =
"audio_channel/audio_codecs/TI_AAC_LC/lib/aacdec_tii.l64P<aacdec_tii.o64P>",
offset = 0x8000d998, section = ".text:_AACDEC_TII_CB_11_Handler")
"aac_pns.c", line 210 (approximate): warning: relocation from function
"AACDEC_TII_GenRandVector" to symbol
"$Tramp$L$PI$$$.text:__divi:rts64plus.lib<divi.obj>$0x80000000" overflowed;
the 31-bit relocated address 0x20000048 is too large to encode in the 21-bit
signed PC-Relative field (type = 'R_C60PCR21' (82), file =
"audio_channel/audio_codecs/TI_AAC_LC/lib/aacdec_tii.l64P<aacdec_tii.o64P>",
offset = 0x8000cce4, section = ".text:_AACDEC_TII_GenRandVector")
"aac_pns.c", line 210 (approximate): warning: relocation from function
"AACDEC_TII_GenRandVector" to symbol
"$Tramp$L$PI$$$.text:__divi:rts64plus.lib<divi.obj>$0x80000000" overflowed;
the 31-bit relocated address 0x20000040 is too large to encode in the 21-bit
signed PC-Relative field (type = 'R_C60PCR21' (82), file =
"audio_channel/audio_codecs/TI_AAC_LC/lib/aacdec_tii.l64P<aacdec_tii.o64P>",
offset = 0x8000cd18, section = ".text:_AACDEC_TII_GenRandVector")
"aac_ifft.c", line 37 (approximate): warning: relocation from function
"AACDEC_TII_IFFT" to symbol
"$Tramp$L$PI$$$.text:__divi:rts64plus.lib<divi.obj>$0x80000000" overflowed;
the 31-bit relocated address 0x20000030 is too large to encode in the 21-bit
signed PC-Relative field (type = 'R_C60PCR21' (82), file =
"audio_channel/audio_codecs/TI_AAC_LC/lib/aacdec_tii.l64P<aacdec_tii.o64P>",
offset = 0x800103f4, section = ".text:_AACDEC_TII_IFFT")
"aac_ifft.c", line 63 (approximate): warning: relocation from function
"AACDEC_TII_IFFT" to symbol
"$Tramp$L$PI$$$.text:__divi:rts64plus.lib<divi.obj>$0x80000000" overflowed;
the 31-bit relocated address 0x20000010 is too large to encode in the 21-bit
signed PC-Relative field (type = 'R_C60PCR21' (82), file =
"audio_channel/audio_codecs/TI_AAC_LC/lib/aacdec_tii.l64P<aacdec_tii.o64P>",
offset = 0x8001046c, section = ".text:_AACDEC_TII_IFFT")
"aac_utils.c", line 337 (approximate): warning: relocation from function
"AACDEC_TII_Rounding" to symbol
"$Tramp$L$PI$$$.text:__call_stub:rts64plus.lib<call_stub.obj>$0x80000000"
overflowed; the 31-bit relocated address 0x20000008 is too large to encode
in the 21-bit signed PC-Relative field (type = 'R_C60PCR21' (82), file =
"audio_channel/audio_codecs/TI_AAC_LC/lib/aacdec_tii.l64P<aacdec_tii.o64P>",
offset = 0x80011680, section = ".text:_AACDEC_TII_Rounding")
I saw that there are many rellocation errors between different symbols of the aac decoder library as well as between aac lib and rts library.
I don't know how to fix it and why actually it happens.
I tried to put all aac library functions into the same group in link command like it was done in the sample application, but it didn't help.
Thanks,
Oleg