Date: Mon, 01 Sep 2025 09:25:46 -0700
On Sunday, 31 August 2025 23:40:00 Pacific Daylight Time Adrian Johnston via
Std-Proposals wrote:
> It isn't all in there yet. But the E in ELF originally stood for
> extensible. For example, the command line to add reflection data to an
> .so would look like this:
>
> objcopy --add-section .reflection=reflection_data --set-section-flags
> .reflection=alloc,readonly input.elf output.elf
We already have such data present: the debug symbols. So just read the DWARF
tables and interpret as necessary. See libdwarves for a handy (but incomplete
for C++) implementation.
Std-Proposals wrote:
> It isn't all in there yet. But the E in ELF originally stood for
> extensible. For example, the command line to add reflection data to an
> .so would look like this:
>
> objcopy --add-section .reflection=reflection_data --set-section-flags
> .reflection=alloc,readonly input.elf output.elf
We already have such data present: the debug symbols. So just read the DWARF
tables and interpret as necessary. See libdwarves for a handy (but incomplete
for C++) implementation.
-- Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org Principal Engineer - Intel Platform & System Engineering
Received on 2025-09-01 16:25:50