Commit Graph

13 Commits

Author SHA1 Message Date
Kinsey Moore
1240e8f81b cpukit/libdebugger: Add support for TLS variables
This adds support for the "vGetTLSAddr" GDB query which retrieves the
address of a TLS variable by offset from the beginning of the TLS memory
space for the given thread. This offset does not include the size of the
thread control block which is at the beginning of every TLS area as used
by RTEMS. Notably, the returned address is big-endian rather than the
little-endian typical with other responses.

This functionality does not include retrieval of addresses for TLS
variables hosted in loadable modules, only TLS variables in the host
binary.

Closes #5271
2025-07-24 20:31:40 -05:00
Sebastian Huber
002c6067ba bsps: Add fatal source/code to bsp_reset()
Mark bsp_reset() as no-return.  Use default BSP fatal handler in lm32 and m68k
BSPs.  Remove empty bsp_reset() implementation.

Update #5067.
2024-08-23 14:54:37 +00:00
Chris Johns
cc34558448 libdebugger/powerpc: Add PowerPC support
Closes #5098
2024-08-07 05:09:38 +00:00
Chris Johns
6a367f4689 libdebugger/target: Move global stepping variables in to the target data
Updates #5098
2024-08-07 05:09:38 +00:00
Chris Johns
d574e08663 libdebugger: Add a target break call to suspend all running threads
- Optionally wait if there is no remote debugger connected and break
  when the remote connects

Closes #4740
2022-10-18 07:37:57 +11:00
Stephen Clark
9b088157ed rtems-debugger: Fixed pointer types to work on 32 and 64 bit architectures
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-10-27 13:25:30 -05:00
Chris Johns
cb1e8497df libdebugger: ARM fixes for Cortex-A8 and ARM mode.
- 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-07-31 08:33:05 +10:00
Chris Johns
581cce2626 libdebugger: Fix for ARMv7-M with -O0 optimization 2019-04-09 17:52:39 +10:00
Chris Johns
2c09b71faf libdebugger: Use an offset table to format GDB g packets.
Adding support for a register offset table lets FPU registers
be supported if added to the backend.

Closes #3733.
2019-04-09 15:02:24 +10:00
Sebastian Huber
f004b2b8dc Use rtems_task_exit()
Update #3530.
Update #3533.
2018-10-02 10:22:15 +02:00
Chris Johns
b2353ed924 libdebugger: Fixes to debugging, ARM support, locking, and gcc-7.1 warnings.
- 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-08-15 11:39:22 +10:00
Chris Johns
7f95cc0707 libdebugger: Fix the mode on task create. Clean up warnings.
Closes #2976.
2017-04-19 14:33:29 +10:00
Chris Johns
a0d4e9933c cpukit: Add libdebugger, a remote debugger agent for GDB. 2016-11-29 08:50:40 +11:00