Skip to content

Releases: ROCm/ROCgdb

ROCgdb ROCm release v4.5.0

28 Oct 01:33
Compare
Choose a tag to compare
gdb: clear last displayed sal in ~objfile if sal belongs to that objfile

We get some random misbehaviors or crashes when doing:

  $./gdb -ex "set pag off" -q -nx --data-directory=data-directory bit_extract -ex "set breakpoint pending on" -ex "b bit_extract_kernel" -ex r -ex  c -ex "b 90"

What happens is:

 1. When stopping on the breakpoint, we set the
    "last_displayed_symtab_info".  last_displayed_symtab_info.m_symtab
    points to a symtab belonging to the GPU kernel objfile:

    (gdb) p last_displayed_symtab_info.m_symtab.compunit_symtab.objfile.original_name
    $1 = 0x557561d76fc0 "/home/master/smarchi/build/binutils-gdb/gdb/file:///home/master/smarchi/src/bit_extract/bit_extract#offset=8192&size=64496"

 2. We continue until the end, the objfile gets destroyed.  The
    objfile's obstack, containing the memory for the symtab saved as
    last_displayed_symtab_info.m_symtab is released, and eventually
    re-used for something else.  Because no other stop at a location in
    the program is presented, last_displayed_symtab_info does not
    change.

 3. When setting the breakpoint ("b 90"),
    last_displayed_symtab_info.m_symtab is looked up, which sometimes
    causes a crash, sometimes some weird behavior.

Fix this by clearing last_displayed_symtab_info on objfile destruction
if last_displayed_symtab_info points to a symtab belonging to the
objfile being destroyed.  This is similar to how we clear the current
source symtab just above.

Bug: https://ontrack-internal.amd.com/browse/SWDEV-304297
Change-Id: Id5c2cabb4e8202d884b44c01ee3656aca29b79e8

ROCgdb ROCm release v4.3.0

02 Aug 17:37
Compare
Choose a tag to compare
Correct typo in AMD GPU logging User Manual description

The command name was "set the logging debugredirect" instead of "set logging
debugredirect on".

Change-Id: I9049f6788f291679c94eb3583902659fd55fca54

ROCgdb ROCm release v4.2.0

10 May 17:07
Compare
Choose a tag to compare
Document how to use Docker to restrict devices for AMD GPU

Change-Id: Ic0f995fe427792770d59673f29d23a718b7c4a89

ROCgdb ROCm release v4.1.0

22 Mar 18:34
Compare
Choose a tag to compare
Flush the caches after inserting a pending breakpoint

Updating the solibs may cause breakpoints to be inserted in device code
objects.  Currently, KFD only flushes the L2$ and I$ during CWSRs, so
simply writting the breakpoint instruction to memory does not guarantee
visibility from the device side, stale data could still be in I$ or L2$.

As a workaround, we can force a CWSR, before resuming the host thread
loading the code object, by requesting a thread list update. The ROCr
runtime creates an internal queue to run the blit kernels so, after
loading a device code object, we should always have at least one queue
on each device.  Suspending that queue to update the wave list causes
the caches to be flushed.

Change-Id: Ie6545960eb60f9d30ff7f9820662cf63be9a9af0

ROCgdb ROCm release v4.0.0

18 Dec 03:01
Compare
Choose a tag to compare
Document state of the info agents/queues/dispatches commands

Change-Id: Ic62d8dda1297e494c9cff43774b1a632a0dcb87b

ROCgdb ROCm release v3.10.0

30 Nov 20:05
Compare
Choose a tag to compare
Restart the dbgapi when the first inferior is created

Restarting the dbgapi resets all the global IDs making debugging run
to run more deterministic.

Change-Id: Ifea902c2956e7a9b2c3b927733bfe889a3b9c61c

ROCgdb ROCm release v3.9.0

27 Oct 21:50
Compare
Choose a tag to compare
Add info queues & info dispatches commands

Change-Id: Ibd4a82368f7bba2ecdf6f10c9adbb7e571529b21

ROCgdb ROCm release v3.8.0

18 Sep 18:07
Compare
Choose a tag to compare
Fixed a bug with DW_OP_LLVM_select_bit_piece.

The DW_OP_LLVM_select_bit_piece operation was adding a wrong bit
offset to all it's pieces. This resulted in a wrong location
description overall.

Also, this operation pushed an uncompleted composite location
description, but it should have pushed the completed one instead.

Change-Id: Iab65f997d1db23b1cd23130d94f4b388f0e5f6f1

ROCgdb ROCm release v3.7.0

19 Aug 21:24
Compare
Choose a tag to compare
Error out if the debugger API cannot attach to the inferior

Change-Id: Ie323c77649a73ee94be887b592b29e8fc1be426f

ROCgdb ROCm release v3.6.0beta

09 Jul 04:15
Compare
Choose a tag to compare
Update AMD GPU documentation

- Update ROCm name.
- Update options specified by -ggdb to remove those no longer used.
- Remove limitation on CFI which is now produced.
- Document restriction on HIP runtime code object loading that results
  in memory URIs unless the HSA_LOADER_ENABLE_MMAP_URI environment is
  used.
- Remove restriction on flat-scratch and xnack_mask registers not
  being able to be accessed by name.

Change-Id: I7e8dd2332c0ecb23a587d61ecf843f03edd0afcc