"-ml3" is legacy code/data model support. Before --mem_model: came along "-ml?" was used for specifying data and code models (where ? is 0-3). "-mv6400+" specifies C64+ DSP architecture, as available on Davinci and other processors.
Removing "-ml3" should solve your problem. However, it might cause performance issues if you remove "-mv6400+". This option, or one of the equivalent forms of it, needs to be present somewhere in your build options, since it tells the compiler to generate C64+ assembly code, instead of whatever the default is (the default will "work", since C64+ supports running C62 or C64 assembly, but will prevent full entitlement to the advanced C64+ instruction set). But if you're using XDC platforms, and are specifying a Davinci platform, then this option should already be in place as part of the platform's build options, but you should check the end result of the compile command to find out what you're getting. Regards, - Rob ________________________________ From: davinci-linux-open-source-boun...@linux.davincidsp.com [mailto:davinci-linux-open-source-boun...@linux.davincidsp.com] On Behalf Of Avishai Hendel Sent: Tuesday, March 31, 2009 6:16 AM To: Ring, Chris; davinci-linux-open-source@linux.davincidsp.com Subject: RE: migration to CE 2.10: DSP server linkage failure Hi Chris, Thanx for the quick reply. You have removed that flag from config.bld, and indeed it was not found in my config.bld. Turns out that my server's package.bld had a few other compilation flags added which caused the confusion: Pkg.attrs.copts = "-d__C6446__ -O2 -ml3 --symdebug:none -mv6400+"; I have changed it to be: Pkg.attrs.copts = "-d__C6446__ -O2"; which resulted in a successful build. However, I'm not really sure what the ' -ml3' and the '-mv6400+' mean, and why they were in the build script in the first place (presumably I've copy / pasted the build flags from one or more codec packages I'm using in the combo.) Any insight on that (or better yet, the correct spr****.pdf :) ? I just need to know I haven't caused some massive performance degradation. Regards, Avishai ________________________________ From: Ring, Chris [mailto:cr...@ti.com] Sent: Monday, March 30, 2009 3:21 AM To: Avishai Hendel; davinci-linux-open-source@linux.davincidsp.com Subject: RE: migration to CE 2.10: DSP server linkage failure I think you see this if you build your server with --mem_model:data=far. Servers shouldn't throw that build flag. I checked and CE 1.20's config.bld _did_ have this option thrown - looks like we removed it in CE 2.00. [ FYI, some details on C6000 memory models are here: http://tiexpressdsp.com/wiki/index.php?title=C6000_Memory_models ] Can you see if your config.bld has this option thrown, and if so, remove it? Chris ________________________________ From: davinci-linux-open-source-boun...@linux.davincidsp.com [mailto:davinci-linux-open-source-boun...@linux.davincidsp.com] On Behalf Of Avishai Hendel Sent: Sunday, March 29, 2009 7:43 AM To: davinci-linux-open-source@linux.davincidsp.com Subject: migration to CE 2.10: DSP server linkage failure Hello all, I've been trying to migrate our DSP server combo to CE 2.10 environment from CE 1.20. I haven't changed anything in our usual configuration (server.cfg, server.tcf etc.), except for the xdcpaths.mak file, which now specifies these recommended packages: CE Ver: 2_10_02 XDC: 3_00_06 DSP/BIOS: 5_32_01 CG: 6_0_22 (I have also used 6_0_16, with the same outcome) The rest of the modules are presumably taken from the CE internal 'cetools' directory. Compilation fails with these warnings: >> warning: Detected a near (.bss section relative) data reference to the symbol _VISA_checked defined in section .far. The reference occurs in videnc1.o64P (/home/dvevm/codec_engine_2_10_02/packages/ti/sdo/ce/video1/lib/debug/videnc1.a64P), section .text, SPC offset 00000000. Either make the symbol near data by placing it in the .bss section, or make the references to the symbol far. For C/C++ code use 'far' or 'near' modifiers on the type definition of the symbol or compile with the --mem_model:data switch. >> warning: Detected a near (.bss section relative) data reference to the symbol _VISA_checked defined in section .far. The reference occurs in imgenc.o64P (/home/dvevm/codec_engine_2_10_02/packages/ti/sdo/ce/image/lib/debug/image.a64P), section .text, SPC offset 00000000. Either make the symbol near data by placing it in the .bss section, or make the references to the symbol far. For C/C++ code use 'far' or 'near' modifiers on the type definition of the symbol or compile with the --mem_model:data switch. >> warning: Detected a near (.bss section relative) data reference to the symbol _VISA_checked defined in section .far. The reference occurs in videnc.o64P (/home/dvevm/codec_engine_2_10_02/packages/ti/sdo/ce/video/lib/debug/video.a64P), section .text, SPC offset 00000000. Either make the symbol near data by placing it in the .bss section, or make the references to the symbol far. For C/C++ code use 'far' or 'near' modifiers on the type definition of the symbol or compile with the --mem_model:data switch. >> warning: Detected a near (.bss section relative) data reference to the symbol _VISA_checked defined in section .far. The reference occurs in viddec.o64P (/home/dvevm/codec_engine_2_10_02/packages/ti/sdo/ce/video/lib/debug/video.a64P), section .text, SPC offset 00000000. Either make the symbol near data by placing it in the .bss section, or make the references to the symbol far. For C/C++ code use 'far' or 'near' modifiers on the type definition of the symbol or compile with the --mem_model:data switch. >> warning: Detected a near (.bss section relative) data reference to the symbol _Global_traceBufferSize defined in section .far. The reference occurs in GT_config_BIOS.o64P (/home/dvevm/codec_engine_2_10_02/packages/ti/sdo/ce/osal/bios/lib/osal_bios.a64P), section .text, SPC offset 000001b0. Either make the symbol near data by placing it in the .bss section, or make the references to the symbol far. For C/C++ code use 'far' or 'near' modifiers on the type definition of the symbol or compile with the --mem_model:data switch. >> warning: Detected a near (.bss section relative) data reference to the symbol _Memory_numHeaps defined in section .far. The reference occurs in Memory_BIOS.o64P (/home/dvevm/codec_engine_2_10_02/packages/ti/sdo/ce/osal/bios/lib/osal_bios.a64P), section .text, SPC offset 00000418. Either make the symbol near data by placing it in the .bss section, or make the references to the symbol far. For C/C++ code use 'far' or 'near' modifiers on the type definition of the symbol or compile with the --mem_model:data switch. and this error: >> error: relocation overflow occurred at address 0x000001b0 in section '.text' of input file '/home/dvevm/codec_engine_2_10_02/packages/ti/sdo/ce/osal/bios/lib/osal_bios.a64P'. The 17-bit relocated address 0x142c6 is too large to encode in the 15-bit field. You may need to add a mask to the assembly instruction or use other target specific assembly features if you really only need the lowest 15 bits of this symbol. Please see the section on Relocation in the Assembly User's Guide. Since the warnings and the error stem (apparently) from TI's binaries, I don't see a way for me to follow the suggestions (using the modifiers, or placing the symbols in a different section). Where have I gone wrong? Regards, Avishai Hendel Software Engineer MangoDSP Ltd. E-mail: avish...@mangodsp.com<mailto:avish...@mangodsp.com> Work: +972 2 588 5037
_______________________________________________ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source