Hi,
We are currently trying to port a non-trivial project which consists of several self-written libraries to OpenMP.
We took the existing SYS/BIOS project, added IPC+OMP rtsc libraries and switched to the beta-mcsdk + cgt 7.4b2.
However linking fails with the following error:
error #10378: non-TLS reference "errno" in
"somelib_TMS320C6600_D.lib<someobject.obj>" mismatches TLS definition in "C:\TI\C6000 Code Generation Tools
7.4.0B2\lib\rts6600_elf_mt.lib<errno.obj>"
warning #10247-D: creating output section ".TI.tls" without a SECTIONS
>> Compilation failure
specification
warning #10247-D: creating output section ".TI.tls_init" without a SECTIONS
specification
"./configPkg/linker.cmd", line 134: warning #10237-D: split placement (>>)
ignored for ".init_array": split placement for this section is not
permitted
error #10010: errors encountered during linking; "somefile.out" not built
gmake: *** [EV3D.out] Error 1
gmake: Target `all' not remade because of errors.
Any idea whats the cause of this problem? Also, what does the "split placement" warning mean?
The library linked in is a non-RTSC project which has been compiled with cgt 7.4b2 before.
Thank you in advance, Clemens
PS: Actually a second question. I tried to use my own RTSC platform definition, created with the RTSC platform wizzard - however this fails, because that failed, because the OpenMP runtime refers to memory ranges like MSMCSRAM_NOCACHE, the rtsc platform wizzard simply doesn't offer.
Will I have to edit the platform definition manually?
PS2: I just noticed the linker.cmd file differes a lot compared the OpenMP example project supplied by TI, however I can't explain why different linker.cmd files are generated. I don't specify any special placement rules, and used the omp_config.conf file supplied with the example.