Browse Source

32 bit only builds one elf, not an elf in an elf, so account for it to be able to bfi int patch properly.

nfactor-troky
Con Kolivas 13 years ago
parent
commit
11c8818558
  1. 12
      ocl.c

12
ocl.c

@ -428,16 +428,20 @@ retry:
if (!advance(&w, &remaining, ".text")) if (!advance(&w, &remaining, ".text"))
{patchbfi = false; goto retry;} {patchbfi = false; goto retry;}
w++; remaining--; w++; remaining--;
if (!advance(&w, &remaining, ".text")) if (!advance(&w, &remaining, ".text")) {
{patchbfi = false; goto retry;} /* 32 bit builds only one ELF */
w--; remaining++;
}
memcpy(&start, w + 285, 4); memcpy(&start, w + 285, 4);
memcpy(&length, w + 289, 4); memcpy(&length, w + 289, 4);
w = binaries[gpu]; remaining = binary_sizes[gpu]; w = binaries[gpu]; remaining = binary_sizes[gpu];
if (!advance(&w, &remaining, "ELF")) if (!advance(&w, &remaining, "ELF"))
{patchbfi = false; goto retry;} {patchbfi = false; goto retry;}
w++; remaining--; w++; remaining--;
if (!advance(&w, &remaining, "ELF")) if (!advance(&w, &remaining, "ELF")) {
{patchbfi = false; goto retry;} /* 32 bit builds only one ELF */
w--; remaining++;
}
w--; remaining++; w--; remaining++;
w += start; remaining -= start; w += start; remaining -= start;
if (opt_debug) if (opt_debug)

Loading…
Cancel
Save