[PATCH 0/7] gas: Fixes for DWARF2 debug info with OCTETS_PER_BYTE>1

Christian Eggers ceggers@gmx.de
Sun Mar 10 18:22:00 GMT 2019


I'm working on a binutils port for the SDMA controller which is inside many
of NXP's i.MX SOCs. In contrast to most other architectures, the SDMA has
16 bit per instruction address (OCTETS_PER_BYTE=2). Up to now, no architecture
with OCTETS_PER_BYTE>1 uses DWARF debug information (tic4x and tic54x use
stabs).

With OCTETS_PER_BYTE=2, the smallest addressable unit is 16 bit. This is
problematic with DWARF2 debug information, as this format always uses 8 bit
quantities. Resulting problems can be truncated sections and displaced
relocations.

These patch series fixes the generation of DWARF debug information in gas for
these architectures, which is a prerequisite for the SDMA port.

These changes should not affect existing architectures as all targets currently
using DWARF2 have 8 bit per byte.

Christian Eggers (7):
  [gas] dwarf2: Fix calculation of line info offset
  [gas] Allow to create symbols with octets value
  [gas] dwarf2: Use octets for dwarf2 headers
  [gas] dwarf2: Use octets for .debug_line prologue
  [gas] dwarf2: Use octets for .debug_string offsets
  [gas] dwarf2: Pad size of .debug_line section.
  [gas] dwarf2: Align relocation within .debug_line section

 gas/ChangeLog   | 42 ++++++++++++++++++++++++++++++++++++++++++
 gas/dwarf2dbg.c | 55 ++++++++++++++++++++++++++++++++++++++++++-------------
 gas/symbols.c   | 39 ++++++++++++++++++++++++++++++++++++++-
 gas/symbols.h   |  3 +++
 4 files changed, 125 insertions(+), 14 deletions(-)

-- 
2.16.4



More information about the Binutils mailing list