search for: sym_addr

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...