RELEASE NOTES ============= Product : GDB for ARC Processor MileStone : Final Release Version : GNU GDB 6.3_codito_20060518 GNU gdbserver Date : May 18th 2006. Table of Contents ----------------- 1. Overview 2. Features Supported 3. Known Limitations and Defects 4. Miscellany 5. Contact Information 6. Reference 1. Overview ------------ This is a GDB support release for the ARCompact and beta release for ARCtangent-A4. 2. Features Supported ---------------------- 2.1 18th May 2006 ----------------- Debugging support has been extended to support ARCtangent-A4 core. GDB now supports complete debugging on: a. ARC700 b. ARC600 c. ARCtangent-A4 using a. Parallel port JTAG b. gdbserver (only for ARC700) Configuration Options: ---------------------- a. JTAG based debugging ----------------------- i. ARCompact Use arc-elf32 as the configuration option for ARC700 and ARC600. ii. ARCtangent-A4 Use arc-a4-elf32 as the configuration option for ARCtangent-A4. b. Debugging binaries on arc-linux ---------------------------------- Currently, only ARC700 is supported. Use arc-linux-uclibc as the configuration option for both gdb and gdbserver. Bugs Fixed: ----------- * Bug #1226 : Backtraces fail after call to alloca. * Bug #1228 : Huge.exp test failed because of hardware restriction. * Bug #1272 : ARC JTAG crashes when trying to debug without giving any input file. * Bug #1273 : Zero the bss on load (target JTAG). * Bug #1286 : Reading an invalid register causes next operations to fail. * Bug #1297 : Building uclibc with debug information causes tests to fail. * Bug #1303 : MI tests failed. * Bug #1323 : Print PC instead of RET register. * Bug #1325 : Add support for understanding core files. * Bug #1331 : GDB could not read kernel memory. * Bug #1332 : Detach command fixed. * Bug #1364 : Kernel panics on doing a continue from userland. * Bug #1381 : System would freeze when doing "target arcjtag". * Bug #1475 : Printf command of GDB fails (target JTAG). * Bug #1476 : GDB (target JTAG) goes into an infinite loop when we try to read from an invalid location. * Bug #1479 : Do not store/restore IDENTITY register. 2.2 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.3 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.4 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 signaltstack 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. * 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. 5. 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@arclinux.org . 6. 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