This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 0/9] ELF support for targets with octets_per_byte>1


This patch series replaces my patches from March 2019.

On targets with more than one octet per byte, DWARF-2 information cannot be
stored because DWARF is organized in octets (8 bit) instead of target bytes
(8, 16 or 32 bit). The size of a DWARF section (e.g. .debug_line) may not be
a multiple of a target byte. Additionally relocation offsets can be at a
location which is not aligned to a byte, the same is for relocation symbols.

My patches from March tried to address these issues by aligning relocation
offsets and section sizes to target bytes by inserting fill instructions (for
.debug_line) when GAS generates debug information. Unfortunately this does not
work for DWARF unit tests where debug information is built "by hand" and not
generated by GAS. Additionally the concept of aligning relocations to target
bytes was limited to targets with 2 octets per byte and would not work for
target with more than 2 octets per byte.

This series reverts (most) of the old patches and introduces the concept of
"octet sections". Within these sections, everything is addressed in octets
instead of bytes. In this way also hand crafted DWARF sections in unit tests
will work (already tested for SDMA (WIP, nearly finished)) and this concept
should also do the job for targets with more than 2 octets per byte. "Normal"
targets with one octet per byte should not be affected, only the output of
objdump will show the new "OCTET" section flag.

regards
Christian

P.S. All patches have been automatically encoded "quoted printable" by
"git send-email" and I don't know how to change this. "git am" should be able
to process these patches.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]