RELEASE NOTES ============= Product : GDB for ARC Processor MileStone : Final Release Version : GNU GDB 6.3_codito_20050523 GNU gdbserver Date : May 23rd 2005. Table of Contents ----------------- 1. Overview 2. Features Supported 3. Known Limitations and Defects 4. Contact Information 5. Reference 1. Overview ------------ This is the final release for the GNU Debugger for the ARC700 platform. We currently support the ARC700 platform and the ARC600 platform for JTAG based debugging. gdbserver based debug is provided for the ARC700 platform only.gdbserver can be run on the ARC platform and gdb used for debugging through the remote protocol. 2. Features Supported ---------------------- 2.1 23rd May 2005 ------------------- Support complete debugging using gdb on : a. ARC600 b. ARC700 using a. JTAG b. gdbserver (only for ARC700). * Debugging of shared libraries and Position Independent code is possible currently using gdbserver. Use arc-linux-uclibc as the configuration option to build the debugger for debugging linux applications. * Eclipse CDT can be used as a frontend for remote gdbserver debugging. An additional document detailing this can be found in the download package. * DDD can be used as a frontend for both JTAG based debugging as well as remote gdbserver based debugging. JTAG based debugging: -------------------- a. Software Requirements : Use Metaware's gpio driver to debug using GDB / JTAG. b. JTAG Specific Commands Added : The commands added are documented in the gdb info pages as well as in the Getting Started guide for gdb available along with this release. c. JTAG Debugging is only possible on Linux hosts currently. d. Use arc-elf32- as the configuration option to build the JTAG debugger. Bugs Fixed: ----------- * Bug #1213 : GDB crashes on Metaware vendor specific extensions. * Bug #1234 : Handle auxiliary registers in the target backend. * Bug #1261 : Relocating object files in gdb. * Bug #1278 : Use correct symbol names for main (instead of _main) * Bug #1279 : Call observer_notify_created_inferior not called by remote_open. * Bug #1283 : Calls into the debuggee fixed. The finish command works. 2.1 1st April 2005 ------------------- Support complete debugging using gdb for binaries compiled without debug info. Bug fixes for debug info usage and generation have been completed. Backtraces work for functions compiled without debug info. The jump, return , finish and frame specific commands work for binaries without debug info.Support signal frame handling and backtracing out of signal frames. Also in this release the Eclipse CDT was tried with arc-linux-uclibc-gdb.With this release all builds of gdb which need to be used for linux debugging must use the configuration option arc-linux-uclibc . * Bug #1056 : next over function fails for DWARF2. * Bug #1065 : Single stepping over ZOL fixed. * Bug #1066 : Finish command fixed. * Bug #1098 : Return command fixed. * Bug #1175 : Calls to debuggee don't complete. 2.2 February 23rd 2005. ----------------------- Currently only binaries generated with dwarf2 debug info can be debugged. The current release of the GNU Tools for ARC does not support generation of dwarf2 debug info. This would be a requirement for debugging userland applications using gdb. 3. Known Limitations and Defects -------------------------------- * Signal Frame handling has been tested . There might still be defects with sigaltstack handling. * We still don't completely parse Metaware compiled binaries and hence handle backtraces within them. * Debugging applications with multiple threads will create issues in certain circumstances. * For frames without debug information , it is possible that the backtraces might go into a loop. If such a case is found , please email to arc-support@codito.com with a testcase indicating the point of failure. Thanks for your co-operation. * Metaware's DW_CFA_INFO vendor extension is not implemented . GDB currently ignores the value of the CFA info with respect to backtraces. * Using JTAG debugging on the AA3, there are occasions when the hardware (AA3 board) refuses to respond. In such a situation, the command arc-reset-board can be used. * All Metaware compiled object files will not be correctly relocated since BFD does not yet understand all the relocation types. * Software Single stepping into delay slots does not work using gdbserver on the ARC700. GDB steps over the delay slot currently. * ARC Extension map Sections in the executable are not supported currently by the GDB . It is not possible for GDB to know extension core registers and possible remappings currently. * Single stepping out of a signal handler after doing a backtrace causes the debuggee to go into an infinite loop. (GDB / GDBServer). * Software single stepping steps out of single instruction zero overhead loops. (GDB / GDBserver) 4. Miscellany ------------- * Eclipse CDT cannot be used as a frontend for JTAG based debugging since the CDT has only support for either remote debugging or native debugging. * Software single stepping is only implemented for arc-linux-uclibc-gdb configurations used for debugging linux applications on ARC700 and is not necessary for JTAG based configurations. 4. Contact Information ---------------------- In case of any defects please contact arc-support@codito.com. If you have a support contract please use the support site at http://support.codito.com. For queries please use the mailing list at arc-gnu-tools@arc-linux.org . 5. References ------------- * ARC700 ISA Reference Manual * ARC GNU GDB Reference manual. * ARC GNU GDB Getting Started Guide. * Using Eclipse CDT with ARC GDB. Tools Team Codito Technologies