• Not Answered

EZSDK 5.03.01.15 Missing gdbserver

Hi Compliments of the season to All

We have built and installed the latest release of EZSDK 5.03.01.15 so we can use the V4L Capture for the DM816X EVM  and have found that the Kernel image does not include the gdbserver and we are unable to debug. Please can someone attend to this urgently as we cannot develop further without it.

Thanks

Robin

7 Replies

  • Substitute your EZSDK install path in path below:

    <sdk-install-path>/linud-devkit/arm-arago-linux-gnueabi/usb/bin/gdbserver

    Do you find gdbserver there?

    It is licensed as GPLv3 so you have to manually copy it onto the

    target file system /usr/bin folder.

    Regards,

    Michael

  • In reply to Michael T:

    Running into the same issue with the 8148 EVM, using ti-ezsdk_dm814x-evm_5_03_01_15.  Once I dropped the needed files onto the target, gdbserver just crashed with "bus error." Anyone resolve this yet?  Here's a quick little log:

    I see GDBServer located in a slightly different path:

    host$ file ti-ezsdk_dm814x-evm_5_03_01_15/linux-devkit/arm-none-linux-gnueabi/usr/bin/gdbserver
    ti-ezsdk_dm814x-evm_5_03_01_15/linux-devkit/arm-none-linux-gnueabi/usr/bin/gdbserver: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.14, stripped

    Attempting to run this on the target seems to require an additional library:

    target# gdbserver
    gdbserver: error while loading shared libraries: libthread_db.so.1: cannot open shared object file: No such file or directory

    I see we have a libthread_db-1.0.so in the linux-devkit directory. I copied this to the target, renaming it to match what gdbserver was looking for.

    host$ find ti-ezsdk_dm814x-evm_5_03_01_15/ -iname libthread*
    ti-ezsdk_dm814x-evm_5_03_01_15/linux-devkit/arm-none-linux-gnueabi/lib/.debug/libthread_db-1.0.so


    host$ file ti-ezsdk_dm814x-evm_5_03_01_15/linux-devkit/arm-none-linux-gnueabi/lib/.debug/libthread_db-1.0.so
    ti-ezsdk_dm814x-evm_5_03_01_15/linux-devkit/arm-none-linux-gnueabi/lib/.debug/libthread_db-1.0.so: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), statically linked (uses shared libs), for GNU/Linux 2.6.14, not stripped

    host$ sudo cp ti-ezsdk_dm814x-evm_5_03_01_15/linux-devkit/arm-none-linux-gnueabi/lib/.debug/libthread_db-1.0.so $TARGET_ROOTS/lib/libthread_db.so.1

    And now we see that gdbserver crashes on attempting to run it...

    target# gdbserver       
    Bus error



  • In reply to Jon S.:

    Well...I might have a dirty hack of a workaround...but I'd still like to hear what the underlying issue is and a "correct" fix. I still have to dive into debugging, so for all I know at this point, this might not be valid...

    If I remember correctly, gdbserver worked fine in the ti-ezsdk_dm814x-evm_5_02_02_60...so I booted my VM for that version and checked the MD5 sums of gdbserver and libthread_db-1.0.so.  It turns out that the gdbserver binary is the same, but libthread_db-1.0.so differs.

    Working version (dm8148):

    host$ md5sum ./libthread_db-1.0.so
    db637ef33e566bc186cc5ef531156f00 ./libthread_db-1.0.so

    host$ ./libthread_db-1.0.so: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.14, stripped


    So (compared to my previous post) one's dynamically linked and stripped, whereas one's statically linked and not stripped? Not sure what's the deal with this file -- digging around on the old 5_02_02_60, I found yet another version in ti-ezsdk_dm8148-evm_5_02_02_60/usr/lib.

    Any thoughts?

  • In reply to Jon S.:

    Has anyone got the gdbserver to work on the target?  I have the same problem with DM8168 and the latest EZSDK release.  The version that came with the board worked fine?

    but after reading some of the documents in the old version I got the feeling that it was just a preliminary release so I thought upgrading would be a good idea, I guess not!

    Just copying it to the target folder doen't work I get:

    gdbserver: error while loading shared libraries: libthread_db.so.1: cannot open shared object file: No such file or directory

    and copying that doesn't help either?

  • Hi,

    We are having the same problem as others in this thread have described.  Debugging worked fine in EXSDK 5.02.02.60, but gdbserver does not exist in the target filesystem in EXSDK 5.03.01.15.  Can someone from TI please help with this?

    Paul

  • In reply to Paul Randall:

    As far as I could figure out,  TI screwed up the latest EZSDK and left out the gdbserver,  you will have to copy it from the codesourcery to the targetFS

    The also didn't include a library so that will have to be installed manually to the target also,  After I did this debugging worked again.

    follow this thread to install the library. http://e2e.ti.com/support/embedded/linux/f/354/t/47210.aspx

  • In reply to Jeffrey Dionne:

    Hi, 

    > follow this thread to install the library. http://e2e.ti.com/support/embedded/linux/f/354/t/47210.aspx

    Has anybody really made it work following the instructions?  
    I can debug a single thread application but still having a problem debugging multi-threaded application, just as described in http://e2e.ti.com/support/embedded/linux/f/354/p/84357/927400.aspx#927400.

    I have tried coping gdbserver and libraries from  EZSDK/linux-devkit  and also from CodeSourcery, but neither solved the problem.

    I use ti-ezsdk_dm814x-evm_5_05_02_00 and DM8148.
    If there is an older version of EZSDK which is known to work with gdbserver, I would like to try it.

    Thanks in advance.