tech-toolchain archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: [TEST CASE] String offset errors on evbarm 8.99 [PR 54159]



On Wed, Aug 07, 2019 at 08:35:09PM +0200, tlaronde%polynum.com@localhost wrote:
> At the very least, I would like to be pointed to some
> documentation, particularily about what are these special symbols '$a'
> '$d' (and '$t' and what else?) and what is special about the earmv7
> case.

Short background: ARM CPUs can generally operate in one of two modes:
ARM mode or Thumb mode. The former is more expressive by using 32bit
instructions, the latter is more compact due to using 16bit
instructions. In both modes, constants longer than 16bit are often
placed into so-called constant pools before or after a function. For
disassemblers and other tools, this is a problem. ARM therefore decided
to introduce special marker symbols to annotate the beginning of a
fragment of the text segment, $a for ARM mode, $t for Thumb and $d for
data. Those symbols can occur multiple times, often a pair per function,
and mess up the symbol table size calculation if unified.

Joerg


Home | Main Index | Thread Index | Old Index