1 .section .text 2 # R_M32R_GOTPC24 3 pic_gotpc: 4 bl.s .+4 5 ld24 r12,#_GLOBAL_OFFSET_TABLE_ 6 add r12,lr 7 8 # R_M32R_GOTPC_HI_ULO 9 # R_M32R_GOTPC_HI_SLO 10 # R_M32R_GOTPC_LO 11 pic_gotpc_slo: 12 bl.s .+4 13 seth r12,#shigh(_GLOBAL_OFFSET_TABLE_) 14 add3 r12,r12,#low(_GLOBAL_OFFSET_TABLE_+4) 15 add r12,lr 16 17 pic_gotpc_ulo: 18 bl.s .+4 19 seth r12,#high(_GLOBAL_OFFSET_TABLE_) 20 or3 r12,r12,#low(_GLOBAL_OFFSET_TABLE_+4) 21 add r12,lr 22 23 # R_M32R_GOT24 24 pic_got: 25 .global sym 26 ld24 r0,#sym@GOTOFF 27 28 # R_M32R_GOT16_HI_ULO 29 # R_M32R_GOT16_HI_SLO 30 # R_M32R_GOT16_LO 31 pic_got16: 32 .global sym2 33 seth r12,#shigh(sym2@GOT) 34 add3 r12,r12,#low(sym2@GOT) 35 seth r12,#high(sym2@GOTOFF) 36 or3 r12,r12,#low(sym2@GOT) 37 38 # R_M32R_26_PLTREL 39 pic_plt: 40 .global func 41 bl func@PLT 42 43 # R_M32R_GOTOFF 44 gotoff: 45 ld24 r0,#gotoff@GOTOFF 46 47 # R_M32R_GOTOFF_HI_ULO 48 # R_M32R_GOTOFF_HI_SLO 49 # R_M32R_GOTOFF_LO 50 seth r0,#shigh(gotoff@GOTOFF) 51 add3 r0,r0,#low(gotoff@GOTOFF) 52 seth r0,#high(gotoff@GOTOFF) 53 or3 r0,r0,#low(gotoff@GOTOFF) 54 55 .end 56