Issue 250924.1: Add language codes for BEAM languages (Erlang, Elixir, Gleam)
| Author: | Paul Guyot |
|---|---|
| Champion: | |
| Date submitted: | 2025-09-24 |
| Date revised: | 2025-10-07 |
| Date closed: | 2025-10-13 |
| Type: | Enhancement |
| Status: | Language Code Assigned |
| DWARF version: | 6 |
Background
I'm working on a JIT backend for AtomVM, an alternative virtual machine for BEAM languages (Erlang, Elixir, Gleam), and I adopted Dwarf as the format for debugging the JIT-compiled and precompiled code.
BEAM languages are pretty mature and can already include debug info in an alternative proprietary format, but live debugging is a work in progress for both BEAM (the primary virtual machine) and AtomVM. AtomVM being focused on micro controllers, gdb is the natural tool and Dwarf the best format.
Proposal
I would like to propose that new language constants be added for the three of them (Erlang, Elixir and Gleam) in v6.
Erlang
- Default lower bound: 1
- Version scheme: VVMMPP
Elixir
- Default lower bound: 1
- Version scheme: VVMMPP
Gleam
- Default lower bound: 0
- Version scheme: VVMMPP
2025-10-07: Changed version schemes for Erlang and Elixir to VVMMPP.
2025-10-13: Language codes assigned:
-
DWARF 5:
DW_LANG_Erlang= 0x0046DW_LANG_Elixir= 0x0047DW_LANG_Gleam= 0x0048
-
DWARF 6:
DW_LNAME_Erlang= 0x0030DW_LNAME_Elixir= 0x0031DW_LNAME_Gleam= 0x0032