This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Fail to build DSP side server executable

Other Parts Discussed in Thread: CCSTUDIO

 

Hi,

I'm trying to add a speech decoder to codec engine. 
When I build the DSP side server I receive error messages as the attached file (msg.txt).


Brief error message:

undefined                        first referenced
 symbol                              in file
---------                        ----------------
_Speech_Decode_Frame_init       
        /opt/dvsdk_3_00_02_44/cs1omap3530_1_00_01/packages/wit/base/codecs/speech01dec/lib/spdec_wit.l64P
_Speech_Decode_Frame_exit       
        /opt/dvsdk_3_00_02_44/cs1omap3530_1_00_01/packages/wit/base/codecs/speech01dec/lib/spdec_wit.l64P
_tx_to_rx                       
        /opt/dvsdk_3_00_02_44/cs1omap3530_1_00_01/packages/wit/base/codecs/speech01dec/lib/spdec_wit.l64P
_Speech_Decode_Frame_reset      
        /opt/dvsdk_3_00_02_44/cs1omap3530_1_00_01/packages/wit/base/codecs/speech01dec/lib/spdec_wit.l64P
_decoder_homing_frame_test_first
        /opt/dvsdk_3_00_02_44/cs1omap3530_1_00_01/packages/wit/base/codecs/speech01dec/lib/spdec_wit.l64P
_Speech_Decode_Frame            
        /opt/dvsdk_3_00_02_44/cs1omap3530_1_00_01/packages/wit/base/codecs/speech01dec/lib/spdec_wit.l64P
_decoder_homing_frame_test      
        /opt/dvsdk_3_00_02_44/cs1omap3530_1_00_01/packages/wit/base/codecs/speech01dec/lib/spdec_wit.l64P
>>   error: relocation overflow occurred at address 0x00000034 in section
            '.text' of input file 'sphdec_wit.o64
            (/opt/dvsdk_3_00_02_44/cs1omap3530_1_00_01/packages/wit/base/codecs/speech01dec/lib/spdec_wit.l64P)'.
             The 29-bit PC-relative displacement 503836296 at this location is too large to fit into the 21-bit
             PC-Relative field; the destination address is too far away from the instruction. 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 21 bits of this symbol. Please see the section on Relocation in the Assembly
             User's Guide.


These undefined symbol are all in an archive named "spdec_64x.lib", which is built with IALG interface to be
"spdec_wit.l64P" later.  QualiTI test passed.

Some of the undefined symbols have following assignment:

#pragma CODE_SECTION(tx_to_rx, ".text:SPHCODEC_cSect");
#pragma CODE_SECTION(Speech_Decode_Frame_init, ".text:SPHCODEC_cSect");
#pragma CODE_SECTION(Speech_Decode_Frame_reset, ".text:SPCODEC_cSect");
#pragma CODE_SECTION(Speech_Decode_Frame_exit, ".text:SPHCODEC_cSect");
#pragma CODE_SECTION(Speech_Decode_Frame, ".text:SPHCODEC_cSect");

 

Could you please help me?  

- Juliann

 

 

  • Juliann,

    There are two solutions to this issue that you are facing:

    1. Recommeded way: Partially link the "spdec_64x.lib" to the "spdec_wit.l64P"

    Example Build steps for partial linking are given below:

    ["Release" Settings]

    FinalBuildCmd=cl6x -z -l lnk.cmd -r -h -g _CODEC_NAME_TI_IALG -g _IALGNAME_TI_PARAMS -g _CODECNAME_TI_ICODECNAME Release\*.obj -o Release\codec_name.o64P -l"..\..\libs\dsplib64plus.lib"  -l"..\..\libs\imglib2.l64P" ;Run=Always

    FinalBuildCmd=ar6x -rq "..\lib\Release\CODEC.l64P" Release\codec.o64P;Run=Always

    Refer: Compiler documentation for more details.

    OR

    2. Work around way: Copy the "spdec_64x.lib" to the codec server folder and add  a line

     -l spdec_64x.lib 

    to the link.cmd file in the codec server folder

    Refer to the following link for linking libraries to a DSP server: http://processors.wiki.ti.com/index.php/C64x%2B_iUniversal_Codec_Creation_-_from_memcpy_to_Canny_Edge_Detector#Recommended_Development_Flow_for_DSP_Codec_Development

     Other useful resources:

    http://processors.wiki.ti.com/index.php/Porting_GPP_code_to_DSP_and_Codec_Engine

     

    Let us know how your integration goes

    Best Regards,

    Rahul

     

     

  • If both libraries are distributed in the same package (wit.base.codecs.speech01dec), the package's getLibs() fxn (in package.xs) could return both libraries.  While a package often only returns one library, the string returned by getLibs() is actually a semi-colon-delimited list of libraries (relative to the package.xs file).

    For example, if both libs live in the lib/ sub directory, getLibs() could return "lib/spdec_64x.lib;lib/spdec_wit.l64P".  If one of the libs depends on the other, the ordering _may_ matter - I'm not sure.  You _may_ need to return the library with dependencies before the one that is depended on(?).

    Chris

  •  

    Hi Rahul,

    I had something else to do yesterday, and I haven't tried your suggestion.
    Following is the story of my own experience on this issue last week, which seems
    similar to the 1st solution you suggested. However, I still couldn't get it right.

    (apology for this is a pretty long post.)

    Here are the two articles (51141 and 36239) from TI's Knowledge Base I refer to
    (found the links in QualiTI wiki article):
    51141: http://www-k.ext.ti.com/srvs/cgi-bin/webcgi.exe?Company={5761bcd8-11f5-4e08-84e0-8167176a4ed9},kb=dsp,case=51141,new
    36239: http://www-k.ext.ti.com/SRVS/CGI-BIN/WEBCGI.EXE/,/?St=167,E=0000000000001197558,K=94,Sxi=17,Case=obj(36239)

     

    spdec_64x.lib: speech decoder algrithm kernel
    IALG interface
       |- sphdec_wit.c
       |- sphdec_wit_ialg.c

     

    Command file I am using to do partial linking (sp_ialg_lnk.cmd):

    /* expose global symbols which the end-application interfaces with */

    -g _SPHDEC_WIT_ISPHDEC 
    -g _SPHDEC_WIT_IALG

    SECTIONS
    {
          /* expose sections which user may wish to manually place */

          .text:algAlloc {}
          .text:algInit {}
          .text:algFree {}
          .text:algControl {}
          .text:algProcess {}
         
          .text:exit {}
          .text:init {}
        
          .text:SPHCODEC_cSect {}
          .const:SPHCODEC_dSect {}
    }

    CCSv3.3 output messages (omitted):
    ---------------------------  sp_ialg64p.pjt - Debug  ---------------------------
    [sphdec_wit.c] "C:\CCStudio_v3.3\C6000\cgtools\bin\cl6x" -q
    -@"Z:/Project_CCSv3.3/amr_c64x/codec/amr_dec/xdm_ialg/compiler_option.txt" -as -o2 -eoo64 -fr"Z:/Pro

    [sphdec_wit_ialg.c] "C:\CCStudio_v3.3\C6000\cgtools\bin\cl6x" -q -@"Z:/Project_CCSv3.3/amr_c64x/codec/amr_dec/xdm_ialg/compiler_option.txt" -as -o2 -eoo64 -fr"Z:/P

    [Linking...] "C:\CCStudio_v3.3\C6000\cgtools\bin\cl6x" -@"Debug.lkf"
    <Linking>
    >> warning: creating output section .text without SECTIONS specification
    >> warning: creating output section .far without SECTIONS specification
    >> warning: creating output section .const without SECTIONS specification
    >> warning: creating output section .cinit without SECTIONS specification

    copy ..\archive\lib\spdec_64x.lib .\Debug\spdec_64x.lib

    ar6x r ./Debug/spdec_64x.lib ./Debug/sp_ialg64p.obj
      ==>  building archive './Debug/spdec_64x.lib'

    copy .\Debug\spdec_64x.lib .\lib\spdec_wit.l64P

    Build Complete,
      0 Errors, 4 Warnings, 0 Remarks.
      Please view the build output for errors and warnings for any custom steps.
     


    generated map file: sp_ialg64p.map:

    ******************************************************************************
              TMS320C6x COFF Linker PC v6.0.8                     
    ******************************************************************************
    >> Linked Tue Oct 12 09:45:18 2010

    OUTPUT FILE NAME:   <./Debug/sp_ialg64p.obj>
    ENTRY POINT SYMBOL: 0


    SECTION ALLOCATION MAP

     output                                  attributes/
    section   page    origin      length       input sections
    --------  ----  ----------  ----------   ----------------
    .bss       0    00000000    00000000     UNINITIALIZED

    .const:SPHCODEC_dSect
    *          0    00000000    00000000     UNINITIALIZED

    .data      0    00000000    00000000     UNINITIALIZED

    .text:exit
    *          0    00000000    00000000     UNINITIALIZED

    .text:init
    *          0    00000000    00000000     UNINITIALIZED

    .const     0    00000001    00000013    
                      00000001    00000008     sphdec_wit.o64 (.const)
                      00000009    0000000b     sphdec_wit_ialg.o64 (.const)

    .text      0    00000020    00000220    
                      00000020    00000220     sphdec_wit.o64 (.text)

    .text:algControl
    *          0    00000240    000001c0    
                      00000240    000001c0     sphdec_wit_ialg.o64 (.text:algControl)

    .text:SPHCODEC_cSect
    *          0    00000400    000000c0    
                      00000400    000000c0     sphdec_wit_ialg.o64 (.text:SPHCODEC_cSect)

    .text:algProcess
    *          0    000004c0    000000c0    
                      000004c0    000000c0     sphdec_wit_ialg.o64 (.text:algProcess)

    .cinit     0    00000580    00000050    
                      00000580    00000050     sphdec_wit_ialg.o64 (.cinit)

    .far       0    000005d0    00000044     UNINITIALIZED
                      000005d0    0000003c     sphdec_wit_ialg.o64 (.far)
                      0000060c    00000008     sphdec_wit.o64 (.far)

    .text:algAlloc
    *          0    00000620    00000020    
                      00000620    00000020     sphdec_wit_ialg.o64 (.text:algAlloc)

    .text:algFree
    *          0    00000640    00000020    
                      00000640    00000020     sphdec_wit_ialg.o64 (.text:algFree)

    .text:algInit
    *          0    00000660    00000020    
                      00000660    00000020     sphdec_wit_ialg.o64 (.text:algInit)


    GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name

    address    name
    --------   ----
    00000000   $bss
    00000020   _SPHDEC_WIT_01
    000005d0   _SPHDEC_WIT_IALG
    000005d0   _SPHDEC_WIT_ISPHDEC
    000005fc   _SPHDEC_WIT_PARAMS
    00000620   _SPHDEC_WIT_alloc
    00000240   _SPHDEC_WIT_control
    00000400   _SPHDEC_WIT_decode
    00000640   _SPHDEC_WIT_free
    00000660   _SPHDEC_WIT_initObj
    000004c0   _SPHDEC_WIT_process
    UNDEFED _Speech_Decode_Frame
    UNDEFED _Speech_Decode_Frame_exit
    UNDEFED _Speech_Decode_Frame_init
    UNDEFED _Speech_Decode_Frame_reset
    UNDEFED _decoder_homing_frame_test
    UNDEFED _decoder_homing_frame_test_first
    UNDEFED _exit
    UNDEFED _memcpy
    UNDEFED _tx_to_rx


    GLOBAL SYMBOLS: SORTED BY Symbol Address

    address    name
    --------   ----
    00000000   $bss
    00000020   _SPHDEC_WIT_01
    00000240   _SPHDEC_WIT_control
    00000400   _SPHDEC_WIT_decode
    000004c0   _SPHDEC_WIT_process
    000005d0   _SPHDEC_WIT_IALG
    000005d0   _SPHDEC_WIT_ISPHDEC
    000005fc   _SPHDEC_WIT_PARAMS
    00000620   _SPHDEC_WIT_alloc
    00000640   _SPHDEC_WIT_free
    00000660   _SPHDEC_WIT_initObj
    UNDEFED _Speech_Decode_Frame
    UNDEFED _Speech_Decode_Frame_exit
    UNDEFED _Speech_Decode_Frame_init
    UNDEFED _Speech_Decode_Frame_reset
    UNDEFED _decoder_homing_frame_test
    UNDEFED _decoder_homing_frame_test_first
    UNDEFED _exit
    UNDEFED _memcpy
    UNDEFED _tx_to_rx

    [20 symbols]
      
      
    The spdec_wit.l64P archive generated by this way can't pass QualiTI checking.
    And, when I build the DSP side server executable with this spdec_wit.l64P, error message
    now is as follows.


    ======== .executables [packages/ti/sdo/server/cs] ========
    rm -f bin/cs.x64P
    #
    # lnk64P bin/cs.x64P ...
    rm -f package/cfg//bin/cs.x64P.map
    /opt/dvsdk_3_00_02_44/cg6x_6_0_16/bin/lnk6x -w -q -u _c_int00 -l link.cmd -q -o bin/cs.x64P package/cfg/bin/cs/main.o64P package/cfg/bin/cs_x64P.o64P package/cfg/bin/cs_x64Pcfg_c.o64P package/cfg/bin/cs_x64Pcfg.o64P  package/cfg/bin/cs_x64P.xdl  -c -m package/cfg//bin/cs.x64P.map -l /opt/dvsdk_3_00_02_44/cg6x_6_0_16/lib/rts64plus.lib
    >> package/cfg/bin/cs_x64P.xdl, line 446: warning:
                   multiple definitions of SECTION named
                   '.const:_G711_TII_CODER_version'

    undefined                        first referenced
     symbol                              in file
    ---------                        ----------------
    _undefined                       package/cfg/bin/cs_x64P.o64P
    >>   error: symbol referencing errors - 'bin/cs.x64P' not built
    gmake[1]: *** [bin/cs.x64P] Error 1
    gmake: *** [packages/ti/sdo/server/cs,.executables] Error 2
    make: *** [.all-packages] Error 2

     

    Well, this might be annoying to you, but if you don't mind to send a message to my
    email address (see my E2E profile), I can send you the CCS project and source codes
    of this issue I'm working on.

     

    * message to Chris:

    Do you mean I have to create an archive (say spdec_ialg.lib) of IALG interface
    by source files sphdec_wit.c & sphdec_wit_ialg.c, and then try to link this
    library with the algorithm kernel library?  (a sketch below make it clear to understand)

    spdec_64x.lib:
       |- speech decoder algrithm kernel
      
    spdec_ialg.lib:
       |- sphdec_wit.c
       |- sphdec_wit_ialg.c
      
    spdec_wit.l64P
       |- spdec_ialg.lib
       |- spdec_64x.lib  
      
    I've tried this way in CCS, linked library (spdec_wit.l64P) cannot pass QuliTI test,
    no undefined symbol message shown while building DSP side server executable, but I
    remember I got the same error message as above.

    It's a conflicting situation:
    The *.l64P library which passed QualiTI test has linking problem, whereas if it
    successfully links with algorithm archive it can't pass QualiTI test.  
     

     

    - Juliann

     

  • Juliann,

    From your map file, I suspect the sections of library are not being relocated appropriately. The .cintand .far sections are fine but the .datat sections and the .text sections from your library must be relocated in the .text sections of the .l64P library. Can you use the following code in your commnad file and let me know if you see any change in your map file.

    SECTIONS
    {
          /* expose sections which user may wish to manually place */

          .text:algAlloc {}
          .text:algInit {}
          .text:algFree {}
          .text:algControl {}
          .text:algProcess {}
         
          .text:exit {}
          .text:init {}
         

    .const:
     {
      "<PATH>/spdec_64x.lib "(.data)
     }
     .text:
     {
       "<PATH>/spdec_64x.lib "(.text)
     }

    }

    If this doesn`t work I will send you an email so that we can take a closer look at what exactly is causing the issue. Also you need to ensure that you do not have a .bss section in your DSP side library as that will prevent it from being xDAIS compliant.

    Regards,

    Rahul

  • Hi Rahul,


    My built archive file (*.l64P) now seems fine with QualiTI, but error message still remains when
    building DSP side server executable in Linux.
      
    The link command file being used for doing partial link is as follows. I didn't use "spdec_64x.lib"
    in this linker command file (marked green lines) as you suggested because in that case the generated
    *.l64P file size will be much bigger and don't look reasonable to me. 

    I think the linker command file for doing partial link is to expose those functions/symbols required
    by XDAIS standard, and QualiTI will check these symbols. When building a CCS archive project, there's
    an Archiver tab in Build Options can Print Global Symbols (-s), which will give us a good view about
    what should to be hid from QualiTI.
     
    Also, the group declarations (.const, .far, ...) in linker command file will set us free from those
    CCS warnings. 

    Note the previous error message regarding the following undefined symbols reside in two source files
    sp_dec.c and d_homing.c. Therefore they have to be exposed.
       _Speech_Decode_Frame_init 
       _Speech_Decode_Frame_exit 
       _tx_to_rx                 
       _Speech_Decode_Frame_reset
       _decoder_homing_frame_test_first                          
       _Speech_Decode_Frame      
       _decoder_homing_frame_test

    Linker fommand file for partial link:

    /* expose global symbols which the end-application interfaces with */
    -r
    -h
    -g _SPHDEC_WIT_ISPHDEC 
    -g _SPHDEC_WIT_IALG

    .\Debug\sphdec_wit.o64
    .\Debug\sphdec_wit_ialg.o64
    .\Debug\sp_dec.o64
    .\Debug\d_homing.o64


    SECTIONS
    {

          /* expose sections which user may wish to manually place */

          .text:algAlloc {}
          .text:algInit {}
          .text:algFree {}
          .text:algControl {}
          .text:algProcess {}
         
          .text:exit {}
          .text:init {}

         
          /*.text:SPHCODEC_cSect {}  */
          /*.const:SPHCODEC_dSect {} */
          
          .const:
          {
             /*
             "Z:\Project_CCSv3.3\amr_c64x\codec\amr_dec\archive\lib\spdec_64x.lib" (.data)
             */
            
       
             ".\Debug\sphdec_wit.o64" (.data)
             ".\Debug\sphdec_wit_ialg.o64" (.data)
             ".\Debug\d_homing.o64" (.const)
            
          }

          .text:
          {
             /*
             "Z:\Project_CCSv3.3\amr_c64x\codec\amr_dec\archive\lib\spdec_64x.lib" (.text)
             */
                     
              ".\Debug\sphdec_wit.o64" (.text)
              ".\Debug\sphdec_wit_ialg.o64" (.text:decode)
              ".\Debug\sp_dec.o64" (.text)
              ".\Debug\d_homing.o64" (.text)        
          }
         
          .far:
          {
             ".\Debug\sphdec_wit_ialg.o64" (.far)
             ".\Debug\sphdec_wit.o64" (.far)
            
          }
         
          .cinit:
          {
             ".\Debug\sphdec_wit_ialg.o64" (.cinit)
            
          } 
    }


    The look of map file now is: (The undefined symbols won't show up while building DSP side server executable under Linux.) 


    ******************************************************************************
              TMS320C6x COFF Linker PC v6.0.8                     
    ******************************************************************************
    >> Linked Thu Oct 14 18:51:21 2010

    OUTPUT FILE NAME:   <./Debug/sp_ialg64p_plink.obj>
    ENTRY POINT SYMBOL: 0


    SECTION ALLOCATION MAP

     output                                  attributes/
    section   page    origin      length       input sections
    --------  ----  ----------  ----------   ----------------
    .bss       0    00000000    00000000     UNINITIALIZED

    .data      0    00000000    00000000     UNINITIALIZED

    .text:exit
    *          0    00000000    00000000     UNINITIALIZED

    .text:init
    *          0    00000000    00000000     UNINITIALIZED

    .text      0    00000020    00000640    
                      00000020    00000220     sphdec_wit.o64 (.text)
                      00000240    000000c0     sphdec_wit_ialg.o64 (.text:decode)
                      00000300    00000080     sp_dec.o64 (.text:SPHCODEC_cSect:_SPHDEC_WIT_tx_to_rx)
                      00000380    00000040     sp_dec.o64 (.text:SPCODEC_cSect:_SPHDEC_WIT_Speech_Decode_Frame_reset)
                      000003c0    00000060     sp_dec.o64 (.text:SPHCODEC_cSect:_SPHDEC_WIT_Speech_Decode_Frame_exit)
                      00000420    000000a0     sp_dec.o64 (.text:SPHCODEC_cSect:_SPHDEC_WIT_Speech_Decode_Frame_init)
                      000004c0    000000a0     sp_dec.o64 (.text:SPHCODEC_cSect:_SPHDEC_WIT_Speech_Decode_Frame)
                      00000560    00000020     sp_dec.o64 (.text:__local_call_stub)
                      00000580    00000080     d_homing.o64 (.text:_dhf_test)
                      00000600    00000020     d_homing.o64 (.text:_SPHDEC_WIT_decoder_homing_frame_test_first)
                      00000620    00000020     d_homing.o64 (.text:_SPHDEC_WIT_decoder_homing_frame_test)
                      00000640    00000020     d_homing.o64 (.text:__local_call_stub)

    .text:algControl
    *          0    00000660    000001c0    
                      00000660    000001c0     sphdec_wit_ialg.o64 (.text:algControl)

    .text:algProcess
    *          0    00000820    000000c0    
                      00000820    000000c0     sphdec_wit_ialg.o64 (.text:algProcess)

    .const     0    000008e0    0000009b    
                      000008e0    0000004a     d_homing.o64 (.const: SPHCODEC_dSect)
                      0000092a    00000002     --HOLE-- [fill = 0]
                      0000092c    00000004     d_homing.o64 (.const)
                      00000930    00000038     sp_dec.o64 (.const)
                      00000968    0000000b     sphdec_wit_ialg.o64 (.const)
                      00000973    00000008     sphdec_wit.o64 (.const)

    .cinit     0    00000980    00000078    
                      00000980    00000050     sphdec_wit_ialg.o64 (.cinit)
                      000009d0    00000028     d_homing.o64 (.cinit)

    .far       0    000009f8    00000068     UNINITIALIZED
                      000009f8    0000003c     sphdec_wit_ialg.o64 (.far)
                      00000a34    00000008     sphdec_wit.o64 (.far)
                      00000a40    00000020     d_homing.o64 (.far)

    .switch    0    00000a60    00000020    
                      00000a60    00000020     sp_dec.o64 (.switch)

    .text:algAlloc
    *          0    00000a80    00000020    
                      00000a80    00000020     sphdec_wit_ialg.o64 (.text:algAlloc)

    .text:algFree
    *          0    00000aa0    00000020    
                      00000aa0    00000020     sphdec_wit_ialg.o64 (.text:algFree)

    .text:algInit
    *          0    00000ac0    00000020    
                      00000ac0    00000020     sphdec_wit_ialg.o64 (.text:algInit)


    GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name

    address    name
    --------   ----
    00000000   $bss
    UNDEFED _Bits2prm
    UNDEFED _Decoder_amr
    UNDEFED _Decoder_amr_exit
    UNDEFED _Decoder_amr_init
    UNDEFED _Decoder_amr_reset
    UNDEFED _Post_Filter
    UNDEFED _Post_Filter_exit
    UNDEFED _Post_Filter_init
    UNDEFED _Post_Filter_reset
    UNDEFED _Post_Process
    UNDEFED _Post_Process_exit
    UNDEFED _Post_Process_init
    UNDEFED _Post_Process_reset
    00000020   _SPHDEC_WIT_01
    000009f8   _SPHDEC_WIT_IALG
    000009f8   _SPHDEC_WIT_ISPHDEC
    00000a24   _SPHDEC_WIT_PARAMS
    000004c0   _SPHDEC_WIT_Speech_Decode_Frame
    000003c0   _SPHDEC_WIT_Speech_Decode_Frame_exit
    00000420   _SPHDEC_WIT_Speech_Decode_Frame_init
    00000380   _SPHDEC_WIT_Speech_Decode_Frame_reset
    00000a80   _SPHDEC_WIT_alloc
    00000660   _SPHDEC_WIT_control
    00000240   _SPHDEC_WIT_decode
    00000620   _SPHDEC_WIT_decoder_homing_frame_test
    00000600   _SPHDEC_WIT_decoder_homing_frame_test_first
    00000aa0   _SPHDEC_WIT_free
    00000ac0   _SPHDEC_WIT_initObj
    00000820   _SPHDEC_WIT_process
    00000300   _SPHDEC_WIT_tx_to_rx
    UNDEFED __call_stub
    UNDEFED _exit
    UNDEFED _memcpy


    GLOBAL SYMBOLS: SORTED BY Symbol Address

    address    name
    --------   ----
    00000000   $bss
    00000020   _SPHDEC_WIT_01
    00000240   _SPHDEC_WIT_decode
    00000300   _SPHDEC_WIT_tx_to_rx
    00000380   _SPHDEC_WIT_Speech_Decode_Frame_reset
    000003c0   _SPHDEC_WIT_Speech_Decode_Frame_exit
    00000420   _SPHDEC_WIT_Speech_Decode_Frame_init
    000004c0   _SPHDEC_WIT_Speech_Decode_Frame
    00000600   _SPHDEC_WIT_decoder_homing_frame_test_first
    00000620   _SPHDEC_WIT_decoder_homing_frame_test
    00000660   _SPHDEC_WIT_control
    00000820   _SPHDEC_WIT_process
    000009f8   _SPHDEC_WIT_IALG
    000009f8   _SPHDEC_WIT_ISPHDEC
    00000a24   _SPHDEC_WIT_PARAMS
    00000a80   _SPHDEC_WIT_alloc
    00000aa0   _SPHDEC_WIT_free
    00000ac0   _SPHDEC_WIT_initObj
    UNDEFED _Bits2prm
    UNDEFED _Decoder_amr
    UNDEFED _Decoder_amr_exit
    UNDEFED _Decoder_amr_init
    UNDEFED _Decoder_amr_reset
    UNDEFED _Post_Filter
    UNDEFED _Post_Filter_exit
    UNDEFED _Post_Filter_init
    UNDEFED _Post_Filter_reset
    UNDEFED _Post_Process
    UNDEFED _Post_Process_exit
    UNDEFED _Post_Process_init
    UNDEFED _Post_Process_reset
    UNDEFED __call_stub
    UNDEFED _exit
    UNDEFED _memcpy

    I've been wondering the error message that Linux returned. What dose it want to say? Did I miss something?

    - Juliann