summaryrefslogtreecommitdiffstats
path: root/cpukit/libdebugger (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-10-31cpukit/libdebugger: Fix stepping on ARM architecturesChris Johns1-313/+495
Closes #4744
2022-10-18libdebugger: Add a target break call to suspend all running threadsChris Johns1-16/+56
- Optionally wait if there is no remote debugger connected and break when the remote connects Closes #4740
2022-08-25libdebugger/aarch64: Set .start section to RWChris Johns1-1/+22
- Stops the server crashing when setting breakpoints in .start
2022-02-23cpukit/libdebugger: Add MicroBlaze supportKinsey Moore1-0/+1393
Add MicroBlaze support for libdebugger. This uses only software break type instructions to provide self-hosted GDB debugging support for applications since internal control of debug hardware is not possible. Also of note, this implementation for MicroBlaze would typically use the brki instruction for software break, but instead uses an illegal opcode to manage software breaks as exceptions. This is due to poor interaction with the debug hardware where the debug hardware will intercept software breaks instead of allowing the software break vector to execute.
2022-02-23cpukit/libdebugger: Avoid cascade for interruptsKinsey Moore2-6/+104
This updates behavior of libdebugger to handle debug exceptions in interrupt context by temporarily removing a software breakpoint, stepping, and then resuming afterward.
2022-02-23cpukit/libdebugger: Add pure swbreak capabilityKinsey Moore2-4/+14
Add a capability that allows for implementations that operate purely using software breaks. Due to this implementation method, software breaks must not be restored until just before returning control to the thread itself and will be handled by the implementation through thread switch and interrupt hooks.
2022-02-23cpukit/libdebugger: Avoid missed swbreak removalKinsey Moore1-0/+16
It is possible to remove software breaks without actually restoring the original instruction to memory. When this happens, the original instruction is lost. This ensures that the original instruction is restored when a software break is removed.
2021-11-01cpukit/aarch64: Add libdebugger supportKinsey Moore1-0/+1884
This adds support for libdebugger under AArch64 using software breakpoints and the single-step execution mode present in all AArch64 CPUs.
2021-11-01cpukit/libdebugger: Use uintptr_t for pointersKinsey Moore5-20/+20
Use uintptr_t instead of DB_UINT when the variable in question describes a pointer.
2021-10-27rtems-debugger: Fixed pointer types to work on 32 and 64 bit architecturesStephen Clark3-8/+28
Using 32bit types like uint32_t for pointers creates issues on 64 bit architectures like AArch64. Replaced occurrences of these with uintptr_t, which will work for both 32 and 64 bit architectures. Added hex_decode_addr function to rtems-debugger.
2021-06-02cpukit/libdebugger: Fix for sockaddr_in not being initializedHarrison Edward Gerber1-1/+1
See also CID 1468684 Closes #4445
2021-02-26rtems-debugger-threads.c: Fix Unchecked return value error (CID #1468688)Ryan Long1-1/+3
CID 1468688: Unchecked return value in snapshot_thread(). Closes #4262
2021-02-12rtems-debugger-threads.c: Fix three Dereference before null check errorsRyan Long1-3/+11
CID 1468681: Dereference before null check in rtems_debugger_thread_continue(). CID 1468690: Dereference before null check in rtems_debugger_thread_system_resume(). CID 1468694: Dereference before null check in rtems_debugger_thread_find_index(). Closes #4241.
2021-02-12rtems-debugger-target.c: Fix Dereference before null check (CID #1468682)Ryan Long1-2/+4
CID 1468682: swbreaks is assigned a value dereferenced from target before it has been verified that target is not null. Closes #4240.
2020-12-22libdebugger: Fix for Armv8-RSebastian Huber1-0/+7
This architecture variant has no MMU. Update #4202.
2019-10-19libdebugger/arm: Clean up the building on arm variants.Chris Johns1-29/+21
2019-08-12libdebugger/arm: Support ROM tables.Chris Johns1-9/+294
- Parse the ROM taables if present to find the component base for the debug hardware. This lets the RPi2 run dl09.exe.
2019-07-31libdebugger: ARM fixes for Cortex-A8 and ARM mode.Chris Johns4-247/+663
- Fix destorying the target and thread parts. - Fix the ARM backend to support Cortex-A8 and ARM mode code. - Use the DBGDSCR interrupt mask when single stepping. - Use the DBGDSCR method of entry to debug mode to filter the execptions. - Add support for BSPs to control the ARM backend.
2019-06-28score: Add and use _Thread_Get_unmapped_priority().Sebastian Huber1-3/+2
Add and use _Thread_Get_unmapped_real_priority().
2019-06-26libdebugger: Unmap thread prioritiesSebastian Huber1-2/+3
2019-04-09libdebugger: Fix for ARMv7-M with -O0 optimizationChris Johns2-5/+21
2019-04-09libdebugger: Use an offset table to format GDB `g` packets.Chris Johns7-214/+472
Adding support for a register offset table lets FPU registers be supported if added to the backend. Closes #3733.
2018-11-09Include missing <rtems/score/thread.h>Sebastian Huber1-0/+2
Update #3598.
2018-10-09build: Merge libdebugger/Makefile.amSebastian Huber1-22/+0
2018-10-02Use rtems_task_exit()Sebastian Huber1-2/+2
Update #3530. Update #3533.
2018-05-02libdebugger: Move to separate librarySebastian Huber3-56/+8
Always build remote TCP support since it depends only on the POSIX socket API. It works with the legacy network stack and libbsd. Move it to a separate libdebugger.a library to allow an easy use with libbsd via "-ldebugger -lbsd" otherwise we would have a cyclic dependency between libbsd.a and librtemscpu.a. Update #3419.
2018-01-25Remove make preinstallChris Johns5-382/+2
A speciality of the RTEMS build system was the make preinstall step. It copied header files from arbitrary locations into the build tree. The header files were included via the -Bsome/build/tree/path GCC command line option. This has at least seven problems: * The make preinstall step itself needs time and disk space. * Errors in header files show up in the build tree copy. This makes it hard for editors to open the right file to fix the error. * There is no clear relationship between source and build tree header files. This makes an audit of the build process difficult. * The visibility of all header files in the build tree makes it difficult to enforce API barriers. For example it is discouraged to use BSP-specifics in the cpukit. * An introduction of a new build system is difficult. * Include paths specified by the -B option are system headers. This may suppress warnings. * The parallel build had sporadic failures on some hosts. This patch removes the make preinstall step. All installed header files are moved to dedicated include directories in the source tree. Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc, etc. Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g. erc32, imx, qoriq, etc. The new cpukit include directories are: * cpukit/include * cpukit/score/cpu/@RTEMS_CPU@/include * cpukit/libnetworking The new BSP include directories are: * bsps/include * bsps/@RTEMS_CPU@/include * bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include There are build tree include directories for generated files. The include directory order favours the most general header file, e.g. it is not possible to override general header files via the include path order. The "bootstrap -p" option was removed. The new "bootstrap -H" option should be used to regenerate the "headers.am" files. Update #3254.
2017-12-13libdebugger: Avoid use of <bsp/linker-symbols.h>Sebastian Huber1-2/+4
Update #3254.
2017-08-16libdebugger/i386 Fix i386 backend after changes.Chris Johns1-1/+16
Closes #3097.
2017-08-15libdebugger: Fixes to debugging, ARM support, locking, and gcc-7.1 warnings.Chris Johns15-313/+466
- Add `printk` support to aid multi-core debugging. - Add lock trace to aid lock debugging. - Fixes to gcc-7.1 warnings. - Fixes from ticket #2879. - Add verbose command controls. - Change using the RTEMS sys/lock.h API to manage exception threads. - ARM hardware breakpoint fixes. Support for SMP stepping is not implemented, this requires use of the context id register. Closes #2879.
2017-04-19libdebugger: Fix the mode on task create. Clean up warnings.Chris Johns1-14/+21
Closes #2976.
2017-04-15libdebugger: Work around assert when using _Thread_Executing.Chris Johns2-2/+8
Using _Thread_Executing with RTEMS_DEBUG results in an `assert` if the server accesses invalid memory. Updates #2993.
2017-01-12Add and use rtems_assoc_thread_states_to_string()Sebastian Huber1-50/+3
2017-01-12libdebugger: Fix const qualifierSebastian Huber1-1/+1
2017-01-12score: Replace STATES_DELAYINGSebastian Huber1-1/+0
Replace STATES_DELAYING with STATES_WAITING_FOR_TIME. There is no need for separate timeout thread states. The Thread_Control::Timer::header and Watchdog_Control::cpu members can be used to figure out the kind of timeout.
2017-01-11score: Add STATES_THREAD_QUEUE_WITH_IDENTIFIERSebastian Huber1-5/+3
Add thread state bit to identify thread queues that are embedded in an object with identifier.
2017-01-11score: Delete STATES_WAITING_FOR_BUFFERSebastian Huber1-1/+0
2016-12-02libdebugger: Build for ARM's without a CP15.Chris Johns1-40/+114
2016-11-29cpukit: Add libdebugger, a remote debugger agent for GDB.Chris Johns18-0/+6294