DWARF: Emit DWARF5 forms for indirect addresses and string offsets.
authorMark Wielaard <mark@klomp.org>
Wed, 16 May 2018 18:02:25 +0000 (18:02 +0000)
committerMark Wielaard <mark@gcc.gnu.org>
Wed, 16 May 2018 18:02:25 +0000 (18:02 +0000)
commitc0134358c5a8a9a92b10d08f2c43f5876d9a0d07
tree1a1021e1b9e198e408a7336b329da85bb3c0a850
parentb958e1c134344ea06aa53ba0ca0935363ed3a8e8
DWARF: Emit DWARF5 forms for indirect addresses and string offsets.

We already emit DWARF5 attributes and tables for indirect addresses
and string offsets, but still use GNU forms. Add a new helper function
dwarf_FORM () for emitting the right form.

Currently we only use the uleb128 forms. But DWARF5 also allows
1, 2, 3 and 4 byte forms (DW_FORM_strx[1234] and DW_FORM_addrx[1234])
which might be more space efficient.

gcc/ChangeLog

* dwarf2out.c (dwarf_FORM): New function.
(set_indirect_string): Use dwarf_FORM.
(reset_indirect_string): Likewise.
(size_of_die): Likewise.
(value_format): Likewise.
(output_die): Likewise.
(add_skeleton_AT_string): Likewise.
(output_macinfo_op): Likewise.
(index_string): Likewise.
(output_index_string_offset): Likewise.
(output_index_string): Likewise.

From-SVN: r260297
gcc/ChangeLog
gcc/dwarf2out.c