mirror of https://github.com/deadw00d/AROS.git
handle R_X86_64_PC64 relocations (llvm generates them)
This commit is contained in:
parent
402af82bab
commit
d8ff15e277
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2006-2019 The AROS Development Team. All rights reserved.
|
||||
Copyright (C) 2006-2020 The AROS Development Team. All rights reserved.
|
||||
$Id$
|
||||
|
||||
Desc: ELF loader extracted from our internal_load_seg_elf in dos.library.
|
||||
|
@ -239,6 +239,10 @@ static int relocate(struct elfheader *eh, struct sheader *sh, long shrel_idx, el
|
|||
*(int32_t *)p = (int64_t)s + (int64_t)rel->addend;
|
||||
break;
|
||||
|
||||
case R_X86_64_PC64:
|
||||
*(uint64_t *)p = (uint64_t)s + (uint64_t)rel->addend - (uint64_t) p;
|
||||
break;
|
||||
|
||||
case R_X86_64_NONE: /* No reloc */
|
||||
break;
|
||||
#else
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#define DOS_ELF_H
|
||||
|
||||
/*
|
||||
Copyright (C) 1995-2019, The AROS Development Team. All rights reserved.
|
||||
Copyright (C) 1995-2020, The AROS Development Team. All rights reserved.
|
||||
$Id$
|
||||
|
||||
Desc: Definition of ELF file structures.
|
||||
|
@ -67,6 +67,7 @@
|
|||
#define R_X86_64_PLT32 4
|
||||
#define R_X86_64_32 10
|
||||
#define R_X86_64_32S 11
|
||||
#define R_X86_64_PC64 24
|
||||
|
||||
#define R_68K_NONE 0
|
||||
#define R_68K_32 1
|
||||
|
|
|
@ -419,6 +419,10 @@ static int relocate
|
|||
*(LONG *)p = (QUAD)s + (QUAD)rel->addend;
|
||||
break;
|
||||
|
||||
case R_X86_64_PC64:
|
||||
*(UQUAD *)p = (UQUAD)s + (UQUAD)rel->addend - (IPTR) p;
|
||||
break;
|
||||
|
||||
case R_X86_64_NONE: /* No reloc */
|
||||
break;
|
||||
|
||||
|
|
Loading…
Reference in New Issue