72d98d16ed
To support thumb1 execute-only code we need to support four new relocations (R_ARM_THM_ALU_ABS_G0_NC, R_ARM_THM_ALU_ABS_G1_NC, R_ARM_THM_ALU_ABS_G2_NC and R_ARM_THM_ALU_ABS_G3_NC). These relocations allow the static linker to finalize construction of symbol address. Typical sequence of code to get address of the symbol foo is then the following : movs r3, #:upper8_15:#foo lsls r3, #8 adds r3, #:upper0_7:#foo lsls r3, #8 adds r3, #:lower8_15:#foo lsls r3, #8 adds r3, #:lower0_7:#foo This will give following sequence of text and relocations after assembly : 4: 2300 movs r3, #0 4: R_ARM_THM_ALU_ABS_G3_NC foo 6: 021b lsls r3, r3, #8 8: 3300 adds r3, #0 8: R_ARM_THM_ALU_ABS_G2_NC foo a: 021b lsls r3, r3, #8 c: 3300 adds r3, #0 c: R_ARM_THM_ALU_ABS_G1_NC foo e: 021b lsls r3, r3, #8 10: 3300 adds r3, #0 10: R_ARM_THM_ALU_ABS_G0_NC foo |
||
---|---|---|
.. | ||
all.texi | ||
as.texinfo | ||
c-aarch64.texi | ||
c-alpha.texi | ||
c-arc.texi | ||
c-arm.texi | ||
c-avr.texi | ||
c-bfin.texi | ||
c-cr16.texi | ||
c-cris.texi | ||
c-d10v.texi | ||
c-d30v.texi | ||
c-epiphany.texi | ||
c-h8300.texi | ||
c-hppa.texi | ||
c-i370.texi | ||
c-i386.texi | ||
c-i860.texi | ||
c-i960.texi | ||
c-ia64.texi | ||
c-ip2k.texi | ||
c-lm32.texi | ||
c-m32c.texi | ||
c-m32r.texi | ||
c-m68hc11.texi | ||
c-m68k.texi | ||
c-metag.texi | ||
c-microblaze.texi | ||
c-mips.texi | ||
c-mmix.texi | ||
c-msp430.texi | ||
c-mt.texi | ||
c-nds32.texi | ||
c-nios2.texi | ||
c-ns32k.texi | ||
c-pdp11.texi | ||
c-pj.texi | ||
c-ppc.texi | ||
c-rl78.texi | ||
c-rx.texi | ||
c-s390.texi | ||
c-score.texi | ||
c-sh64.texi | ||
c-sh.texi | ||
c-sparc.texi | ||
c-tic6x.texi | ||
c-tic54x.texi | ||
c-tilegx.texi | ||
c-tilepro.texi | ||
c-v850.texi | ||
c-vax.texi | ||
c-visium.texi | ||
c-xc16x.texi | ||
c-xgate.texi | ||
c-xstormy16.texi | ||
c-xtensa.texi | ||
c-z8k.texi | ||
c-z80.texi | ||
fdl.texi | ||
h8.texi | ||
internals.texi | ||
Makefile.am | ||
Makefile.in |