1/* 2 * Copyright 2019 Haiku, Inc. All Rights Reserved. 3 * Distributed under the terms of the MIT License. 4 */ 5#ifndef _KERNEL_ARCH_ARM64_ELF_H 6#define _KERNEL_ARCH_ARM64_ELF_H 7 8#define R_AARCH64_NONE 0 /* No relocation */ 9#define R_AARCH64_ABS64 257 /* Absolute offset */ 10#define R_AARCH64_ABS32 258 /* Absolute, 32-bit overflow check */ 11#define R_AARCH64_ABS16 259 /* Absolute, 16-bit overflow check */ 12#define R_AARCH64_PREL64 260 /* PC relative */ 13#define R_AARCH64_PREL32 261 /* PC relative, 32-bit overflow check */ 14#define R_AARCH64_PREL16 262 /* PC relative, 16-bit overflow check */ 15#define R_AARCH64_TSTBR14 279 /* TBZ/TBNZ immediate */ 16#define R_AARCH64_CONDBR19 280 /* Conditional branch immediate */ 17#define R_AARCH64_JUMP26 282 /* Branch immediate */ 18#define R_AARCH64_CALL26 283 /* Call immediate */ 19#define R_AARCH64_COPY 1024 /* Copy data from shared object */ 20#define R_AARCH64_GLOB_DAT 1025 /* Set GOT entry to data address */ 21#define R_AARCH64_JUMP_SLOT 1026 /* Set GOT entry to code address */ 22#define R_AARCH64_RELATIVE 1027 /* Add load address of shared object */ 23#define R_AARCH64_TLS_DTPREL64 1028 /* Module-relative offset, 64 bit. */ 24#define R_AARCH64_TLS_DTPMOD64 1029 /* Module number, 64 bit. */ 25#define R_AARCH64_TLS_TPREL64 1030 /* TP-relative offset, 64 bit. */ 26#define R_AARCH64_TLSDESC 1031 /* Identify the TLS descriptor */ 27#define R_AARCH64_IRELATIVE 1032 /* STT_GNU_IFUNC relocation. */ 28 29#define TLS_DTV_OFFSET 0 30 31#endif /* _KERNEL_ARCH_ARM64_ELF_H */ 32