Add support for reading DWARF-5 info
gcc switched to DWARF-5 by default on version 11, so let's add support for reading DWARF-5 info.
Signed-off-by: Andre Moreira Magalhaes andrunko@gmail.com
Edited by Andre Moreira Magalhaes
Merge request reports
Activity
mentioned in issue infrastructure/apertis-issues#360 (closed)
Tested with:
With DWARF-4:
$ gcc -g -gdwarf-4 -ffile-prefix-map=/home/andrunko/work/imx-code-signing-tool=. -o csf_parser csf_parser.c extract_csf.c $ objdump -W csf_parser| grep comp_dir <15> DW_AT_comp_dir : (indirect string, offset: 0xdc): ./code/hab_csf_parser <1531> DW_AT_comp_dir : (indirect string, offset: 0xdc): ./code/hab_csf_parser DW_AT_comp_dir DW_FORM_strp DW_AT_comp_dir DW_FORM_strp $ rm -f foo.json && dwarf2sources -o foo.json ./csf_parser $ cat foo.json {"./csf_parser":{"units":[{"comp_dir":"./code/hab_csf_parser","comp_name":"csf_parser.c"},{"comp_dir":"./code/hab_csf_parser","comp_name":"extract_csf.c"}]}}
With DWARF-5:
$ gcc -g -ffile-prefix-map=/home/andrunko/work/imx-code-signing-tool=. -o csf_parser csf_parser.c extract_csf.c $ objdump -W csf_parser| grep comp_dir <16> DW_AT_comp_dir : (indirect line string, offset: 0xd): ./code/hab_csf_parser <144c> DW_AT_comp_dir : (indirect line string, offset: 0xd): ./code/hab_csf_parser DW_AT_comp_dir DW_FORM_line_strp DW_AT_comp_dir DW_FORM_line_strp $ rm -f foo.json && dwarf2sources -o foo.json ./csf_parser $ cat foo.json {"./csf_parser":{"units":[{"comp_dir":"./code/hab_csf_parser","comp_name":"csf_parser.c"},{"comp_dir":"./code/hab_csf_parser","comp_name":"extract_csf.c"}]}}
added 2 commits
From section 7.4.3 of https://dwarfstd.org/doc/DWARF5.pdf:
DW_FORM_line_strp offset in .debug_line_str ... DW_FORM_strp offset in .debug_str
See also gimli::Dwarf::attr_string.
- Resolved by Sjoerd Simons
- Resolved by Sjoerd Simons
- Resolved by Sjoerd Simons
- Resolved by Sjoerd Simons
- Resolved by Sjoerd Simons
Please register or sign in to reply