.section .text # R_M32R_GOTPC24 pic_gotpc: bl.s .+4 ld24 r12,#_GLOBAL_OFFSET_TABLE_ add r12,lr # R_M32R_GOTPC_HI_ULO # R_M32R_GOTPC_HI_SLO # R_M32R_GOTPC_LO pic_gotpc_slo: bl.s .+4 seth r12,#shigh(_GLOBAL_OFFSET_TABLE_) add3 r12,r12,#low(_GLOBAL_OFFSET_TABLE_+4) add r12,lr pic_gotpc_ulo: bl.s .+4 seth r12,#high(_GLOBAL_OFFSET_TABLE_) or3 r12,r12,#low(_GLOBAL_OFFSET_TABLE_+4) add r12,lr # R_M32R_GOT24 pic_got: .global sym ld24 r0,#sym@GOTOFF # R_M32R_GOT16_HI_ULO # R_M32R_GOT16_HI_SLO # R_M32R_GOT16_LO pic_got16: .global sym2 seth r12,#shigh(sym2@GOT) add3 r12,r12,#low(sym2@GOT) seth r12,#high(sym2@GOTOFF) or3 r12,r12,#low(sym2@GOT) # R_M32R_26_PLTREL pic_plt: .global func bl func@PLT # R_M32R_GOTOFF gotoff: ld24 r0,#gotoff@GOTOFF # R_M32R_GOTOFF_HI_ULO # R_M32R_GOTOFF_HI_SLO # R_M32R_GOTOFF_LO seth r0,#shigh(gotoff@GOTOFF) add3 r0,r0,#low(gotoff@GOTOFF) seth r0,#high(gotoff@GOTOFF) or3 r0,r0,#low(gotoff@GOTOFF) .end