search for: avr_lo8_ldi_gs

Displaying 2 results from an estimated 2 matches for "avr_lo8_ldi_gs".

2017 Jul 11
6
RFC: Harvard architectures and default address spaces
...g on whether pointers are located in data space or program space. Take the ICALL instruction - it performs an indirect call to the pointer stored in the Z register. We must first load the pointer into Z via the ‘ldi’ instruction. If the pointer is actually a pointer to a symbol, we need to emit a AVR_LO8_LDI_GS relocation, otherwise we emit a AVR_LO8_LDI relocation. There are a few other cases, but they’re irrelevant for this discussion. We can quite easily look at the GlobalValue* that corresponds to the pointer if it is a symbol and select the fixup based on that, but that assumes that the address spac...
2017 Jul 11
2
RFC: Harvard architectures and default address spaces
...ata space or program > space. > > Take the ICALL instruction - it performs an indirect call to the pointer > stored in the Z register. > > We must first load the pointer into Z via the ‘ldi’ instruction. If the > pointer is actually a pointer to a symbol, we need to emit a > AVR_LO8_LDI_GS relocation, otherwise we emit a AVR_LO8_LDI relocation. > There are a few other cases, but they’re irrelevant for this discussion. > > We can quite easily look at the GlobalValue* that corresponds to the > pointer if it is a symbol and select the fixup based on that, but that > assum...