ROCm / ROCm/ROCdbgapi

[Issue]: Non-backwards-compatible symbol versioning: intentional?

Open
#20 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
20
Forks
18
Avg merge
10m
Merged PRs (30d)
1

Description

Problem Description

rocdbgapi uses symbol versioning, but apparently in a non-backwards-compatible way. For example, the symbol amd_dbgapi_set_watchpoint initially appeared as

amd_dbgapi_set_watchpoint@AMD_DBGAPI_0.62

and in in a958e46, rather than providing a new implementation in parallel with the old, the symbol was simply removed from 0.62, added to 0.76, and is now

amd_dbgapi_set_watchpoint@AMD_DBGAPI_0.76

Which means anything linked to the previous version of the library and using amd_dbgapi_set_watchpoint@AMD_DBGAPI_0.62 will no longer work.

If this backwards-incompatible change is intentional, then it would also require a SOVER bump.

Am I misunderstanding something about how the symbol versioning here is supposed to work?

Operating System

Debian 12

CPU

9950X

GPU

gfx1102

ROCm Version

6.4.1

ROCm Component

ROCdbgapi

Steps to Reproduce

This is evident from exportmap.in

(Optional for Linux users) Output of /opt/rocm/bin/rocminfo --support

No response

Additional Information

No response

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with src/exportmap.in and commit a958e46, comparing the AMD_DBGAPI_0.62 and AMD_DBGAPI_0.76 entries for amd_dbgapi_set_watchpoint. Check how this project handles symbol compatibility and SOVER changes. Done means documenting whether the transition is intentional and identifying the required compatibility or versioning action.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.