Displaying 4 results from an estimated 4 matches for "sym_addr".
2020 Sep 17
4
[MTE] Globals Tagging - Discussion
...ining 189KiB of other
read-only data in this segment.
d) Relocations
1.
GLOB_DAT, ABS64, and RELATIVE relocations change semantics - they would
be required to retrieve and insert the memory tag of the symbol into the
relocated value. For example, the ABS64 relocation becomes:
sym_addr = get_symbol_address() // sym_addr = 0x1008
sym_addr |= get_tag(sym_addr & 0xf) // get_tag(0x1008 & 0xf == 0x1000)
*r_offset = sym_addr + r_addend;
2.
Introduce a TAGGED_RELATIVE relocation - in order to solve the problem
where the tag derivation shouldn't be from th...
2020 Sep 18
2
[MTE] Globals Tagging - Discussion
...in this segment.
> >
> > d) Relocations
> >
> > GLOB_DAT, ABS64, and RELATIVE relocations change semantics - they would
> be required to retrieve and insert the memory tag of the symbol into the
> relocated value. For example, the ABS64 relocation becomes:
> > sym_addr = get_symbol_address() // sym_addr = 0x1008
> > sym_addr |= get_tag(sym_addr & 0xf) // get_tag(0x1008 & 0xf == 0x1000)
> > *r_offset = sym_addr + r_addend;
> >
> > Introduce a TAGGED_RELATIVE relocation - in order to solve the problem
> where the tag derivatio...
2020 Sep 21
2
[MTE] Globals Tagging - Discussion
...>
>>> > d) Relocations
>>> >
>>> > GLOB_DAT, ABS64, and RELATIVE relocations change semantics - they would be required to retrieve and insert the memory tag of the symbol into the relocated value. For example, the ABS64 relocation becomes:
>>> > sym_addr = get_symbol_address() // sym_addr = 0x1008
>>> > sym_addr |= get_tag(sym_addr & 0xf) // get_tag(0x1008 & 0xf == 0x1000)
>>> > *r_offset = sym_addr + r_addend;
>>> >
>>> > Introduce a TAGGED_RELATIVE relocation - in order to solve the prob...
2020 Oct 09
3
[MTE] Globals Tagging - Discussion
...>
> > 1.
> >
> > GLOB_DAT, ABS64, and RELATIVE relocations change semantics - they
> would
> > be required to retrieve and insert the memory tag of the symbol into
> the
> > relocated value. For example, the ABS64 relocation becomes:
> > sym_addr = get_symbol_address() // sym_addr = 0x1008
> > sym_addr |= get_tag(sym_addr & 0xf) // get_tag(0x1008 & 0xf ==
> 0x1000)
> > *r_offset = sym_addr + r_addend;
> > 2.
> >
> > Introduce a TAGGED_RELATIVE relocation - in order to solve the proble...