Lines 53-59
Link Here
|
53 |
# undef ELF64_R_INFO |
53 |
# undef ELF64_R_INFO |
54 |
# define ELF64_R_SYM(i) ((i)>>32) |
54 |
# define ELF64_R_SYM(i) ((i)>>32) |
55 |
# define ELF64_R_TYPE(i) ((i)&0xffffffffL) |
55 |
# define ELF64_R_TYPE(i) ((i)&0xffffffffL) |
56 |
# define ELF64_R_INFO(s,t) (((Elf64_Xword)(s)<<32)+((t)&0xffffffffL)) |
56 |
# define ELF64_R_INFO(s,t) (((Elf64_Word)(s)<<32)+((t)&0xffffffffL)) |
57 |
#endif /* !defined(...) */ |
57 |
#endif /* !defined(...) */ |
58 |
|
58 |
|
59 |
static char* |
59 |
static char* |
Lines 256-263
Link Here
|
256 |
Elf32_Rela *src = (Elf32_Rela*)tmp; |
256 |
Elf32_Rela *src = (Elf32_Rela*)tmp; |
257 |
|
257 |
|
258 |
check_and_copy(GElf_Addr, dst, src, r_offset, NULL); |
258 |
check_and_copy(GElf_Addr, dst, src, r_offset, NULL); |
259 |
dst->r_info = ELF64_R_INFO((Elf64_Xword)ELF32_R_SYM(src->r_info), |
259 |
dst->r_info = ELF64_R_INFO((Elf64_Word)ELF32_R_SYM(src->r_info), |
260 |
(Elf64_Xword)ELF32_R_TYPE(src->r_info)); |
260 |
(Elf64_Word)ELF32_R_TYPE(src->r_info)); |
261 |
check_and_copy(GElf_Sxword, dst, src, r_addend, NULL); |
261 |
check_and_copy(GElf_Sxword, dst, src, r_addend, NULL); |
262 |
} |
262 |
} |
263 |
else { |
263 |
else { |
Lines 327-334
Link Here
|
327 |
Elf32_Rel *src = (Elf32_Rel*)tmp; |
327 |
Elf32_Rel *src = (Elf32_Rel*)tmp; |
328 |
|
328 |
|
329 |
check_and_copy(GElf_Addr, dst, src, r_offset, NULL); |
329 |
check_and_copy(GElf_Addr, dst, src, r_offset, NULL); |
330 |
dst->r_info = ELF64_R_INFO((Elf64_Xword)ELF32_R_SYM(src->r_info), |
330 |
dst->r_info = ELF64_R_INFO((Elf64_Word)ELF32_R_SYM(src->r_info), |
331 |
(Elf64_Xword)ELF32_R_TYPE(src->r_info)); |
331 |
(Elf64_Word)ELF32_R_TYPE(src->r_info)); |
332 |
} |
332 |
} |
333 |
else { |
333 |
else { |
334 |
seterr(ERROR_UNIMPLEMENTED); |
334 |
seterr(ERROR_UNIMPLEMENTED); |