diff options
Diffstat (limited to 'ELF/Arch/Hexagon.cpp')
| -rw-r--r-- | ELF/Arch/Hexagon.cpp | 6 | 
1 files changed, 6 insertions, 0 deletions
| diff --git a/ELF/Arch/Hexagon.cpp b/ELF/Arch/Hexagon.cpp index 2d5c23fd5ad6f..ff5e862bafa2f 100644 --- a/ELF/Arch/Hexagon.cpp +++ b/ELF/Arch/Hexagon.cpp @@ -70,6 +70,12 @@ void Hexagon::relocateOne(uint8_t *Loc, RelType Type, uint64_t Val) const {    switch (Type) {    case R_HEX_NONE:      break; +  case R_HEX_12_X: +    or32le(Loc, applyMask(0x000007e0, Val)); +    break; +  case R_HEX_32_6_X: +    or32le(Loc, applyMask(0x0fff3fff, Val >> 6)); +    break;    case R_HEX_B15_PCREL:      or32le(Loc, applyMask(0x00df20fe, Val >> 2));      break; | 
