On 15/03/2023 11:29, Luca Boccassi wrote:
Use the elf metadata spec: https://systemd.io/ELF_PACKAGE_METADATA/ I need to update that, as these days it's no longer necessary to use a custom linker script, but with binutils 2.39 (or mold 1.3.0 or lld 15.0) it's as easy as passing as a linker flag: --package-metadata='{"foo":"bar"}' and it will be appended in the right location in the binary. systemd-coredump will parse that, and attach it as-is as a COREDUMP_PACKAGE_JSON= field in the journal. If the json contains fields named 'name' and/or 'version' they will also be appended independently as COREDUMP_PACKAGE_NAME= and COREDUMP_PACKAGE_VERSION=
But as I said "many different tests use the same test runner executable". So I'm not sure how adding ELF metadata to some binary would help me in any way? For example, two different tests recipes A and B each run python programs that each spawn a native soffice.bin process, where those soffice.bin processes don't include any .so that are specific to each test. If test A fails, its recipe should dump backtraces for all core files caused by test A, but not for any core files caused by test B.