Lines 400-405
Link Here
|
400 |
break; |
400 |
break; |
401 |
case R_ARM_ABS32: |
401 |
case R_ARM_ABS32: |
402 |
{ |
402 |
{ |
|
|
403 |
union { Elf32_Addr v; unsigned char b[sizeof(Elf32_Addr)]; } hack; |
403 |
# ifndef RTLD_BOOTSTRAP |
404 |
# ifndef RTLD_BOOTSTRAP |
404 |
/* This is defined in rtld.c, but nowhere in the static |
405 |
/* This is defined in rtld.c, but nowhere in the static |
405 |
libc.a; make the reference weak so static programs can |
406 |
libc.a; make the reference weak so static programs can |
Lines 418-424
Link Here
|
418 |
used while loading those libraries. */ |
419 |
used while loading those libraries. */ |
419 |
value -= map->l_addr + refsym->st_value; |
420 |
value -= map->l_addr + refsym->st_value; |
420 |
# endif |
421 |
# endif |
421 |
*reloc_addr += value; |
422 |
memcpy(hack.b, reloc_addr, sizeof(Elf32_Addr)); |
|
|
423 |
hack.v += value; |
424 |
memcpy(reloc_addr, hack.b, sizeof(Elf32_Addr)); |
422 |
break; |
425 |
break; |
423 |
} |
426 |
} |
424 |
case R_ARM_PC24: |
427 |
case R_ARM_PC24: |