rust-lang / rust-lang/rust

Revamp `cg_llvm` debuginfo handling to use the LLVM-C API

Open
#134,001 3 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

A-debuginfo A-LLVM C-cleanup T-compiler
Dominant language
Rust
Stars
119k
Forks
16.1k
PR merge metrics
PR metrics pending

Description

We currently use C++ code for some of our debuginfo stuff with LLVM. We should port it to the C API, so we don't have to continue maintaining irksome C++ bindings. This is the primary header in question: https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm-c/DebugInfo.h

Contributor guide

Open the contributing guide

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 by reading LLVM's llvm/include/llvm-c/DebugInfo.h and locating the cg_llvm debuginfo code that currently uses C++ bindings. Map the existing bindings to the LLVM-C API; done means the debuginfo integration no longer depends on maintained C++ bindings and the compiler remains functional.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
compilers
Issue type
Refactor
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.