Lines Matching refs:offset
104 s32 offset;
109 offset = ELF32_R_SYM(rel->r_info);
110 if (offset < 0 || offset > (symsec->sh_size / sizeof(Elf32_Sym))) {
116 sym = ((Elf32_Sym *)symsec->sh_addr) + offset;
120 "section %d reloc %d offset %d size %d\n",
140 offset = (*(u32 *)loc & 0x00ffffff) << 2;
141 if (offset & 0x02000000)
142 offset -= 0x04000000;
144 offset += sym->st_value - loc;
145 if (offset & 3 ||
146 offset <= (s32)0xfe000000 ||
147 offset >= (s32)0x02000000) {
155 offset >>= 2;
158 *(u32 *)loc |= offset & 0x00ffffff;
171 offset = *(u32 *)loc + sym->st_value - loc;
172 *(u32 *)loc = offset & 0x7fffffff;
177 offset = *(u32 *)loc;
178 offset = ((offset & 0xf0000) >> 4) | (offset & 0xfff);
179 offset = (offset ^ 0x8000) - 0x8000;
181 offset += sym->st_value;
183 offset >>= 16;
186 *(u32 *)loc |= ((offset & 0xf000) << 4) |
187 (offset & 0x0fff);
201 * S = upper[10] = offset[24]
202 * I1 = ~(J1 ^ S) = offset[23]
203 * I2 = ~(J2 ^ S) = offset[22]
204 * imm10 = upper[9:0] = offset[21:12]
205 * imm11 = lower[10:0] = offset[11:1]
212 offset = (sign << 24) | ((~(j1 ^ sign) & 1) << 23) |
216 if (offset & 0x01000000)
217 offset -= 0x02000000;
218 offset += sym->st_value - loc;
221 if (!(offset & 1) ||
222 offset <= (s32)0xff000000 ||
223 offset >= (s32)0x01000000) {
231 sign = (offset >> 24) & 1;
232 j1 = sign ^ (~(offset >> 23) & 1);
233 j2 = sign ^ (~(offset >> 22) & 1);
235 ((offset >> 12) & 0x03ff));
238 ((offset >> 1) & 0x07ff));
256 offset = ((upper & 0x000f) << 12) |
259 offset = (offset ^ 0x8000) - 0x8000;
260 offset += sym->st_value;
263 offset >>= 16;
266 ((offset & 0xf000) >> 12) |
267 ((offset & 0x0800) >> 1));
269 ((offset & 0x0700) << 4) |
270 (offset & 0x00ff));